我有我的數據集的一些因素變量,我嘗試將它們轉換爲數字與循環循環因素轉換爲數字
a = sample(c('a', 'b'), 100, replace = TRUE)
b = sample(c('a', 'b'), 100, replace = TRUE)
df = as.data.frame(cbind(a, b))
library(plyr); library(dplyr)
for(i in df[, 1:2]) {
k = as.numeric(as.character(revalue(df[,i],
c('a' = 1,
'b'= 2
))))
}
,我得到錯誤
Error in revalue(df[, i], c(a = "1", b = "2")) :
x is not a factor or a character vector.
有什麼不對? NB重要的是, 'A' 等於1 & 'B'= 2
你想幹什麼'的(我在1:2)'(或可替代'的(我在seq_along (df [,1:2]))''而不是'for(i in df [,1:2])' –
對於您的示例數據,只需'df $ a < - as.numeric(df $ a)'和'df $ b < - as.numeric(df $ b)'將會起作用 – neilfws