2
data.table의 열 이름을 내 수식의 입력으로 사용하고 싶습니다. 그러나 행의 이름을 직접 삽입 할 때마다 항상 작동합니다. 개체에서 이름을로드하면 작동하지 않습니다. 나는 그것이 내가이 이름은 [1] 나에게 대신 VAR1의 "VAR1"를 제공한다는 사실과 관련이 생각data.table의 공식에 열 이름을 사용하십시오.
library(data.table)
dt <- data.table(ID= c(1,2,3,4,5,6,7,8,9),
var1 = c(100,150,200,180,10,15,11,25,1),
var2 = c(150,200,250,300,15,20,19,30,2),
var3 = c(100,101,102,103,104,105,106,107,109))
# Insert column name direvtly in Formular seems to work
dt[, var1 := (var1 - mean(var1, na.rm = TRUE)/sd(var1, na.rm = TRUE)) ]
# Load name from formular does not work
Names <- c("var1", "var2", "var3")
for (i in 1:3){
dt[, Names[i] := (Names[i] - mean(Names[i], na.rm = TRUE)/sd(Names[i], na.rm = TRUE)) ]}
사실에 관한 생각합니다. 나는 포럼에서 비슷한 문제를 찾고 있었고 as.symbol()
, as.name()
과 같은 명령이 있지만 도움이되지 않는 것으로 나타났습니다.
당신에게 정말 고마워요 다시 열 출력을 (
;=
)를 할당합니다. 나는이 명령에 의해 농담을 얻고 있었지만 당신의 해결책은 잘 작동합니다. – JohnnyKing