0
比方說,我有以下的數據幀lapply(X,as.factor)只返回一個水平
a <- as.integer(runif(20, 1, 30))
b <- as.integer(runif(20, 10, 30))
df <- data.frame(Sender = a, Receiver = b)
df
我想兩列變成因素:
var <- c("Sender", "Receiver")
df[var] <- lapply(var, factor)
str(df)
但事實證明,有在每一列,而不是許多獨特的數字只是一個水平,我的例子
'data.frame': 20 obs. of 2 variables:
$ Sender : Factor w/ 1 level "Sender": 1 1 1 1 1 1 1 1 1 1 ...
$ Receiver: Factor w/ 1 level "Receiver": 1 1 1 1 1 1 1 1 1 1 ...
當然,如果如果作品我分開做:
df$Sender <- as.factor(df$Sender)
df$Receiver <- as.factor(df$Receiver)
有人可以解釋爲什麼嗎?