这让我有点困惑,这是我正在采取的步骤:
创建数据框:
df <- data.frame(one=numeric(5), two=character(5))
这将创建一个包含“一”和“二”列以及 5 个空行的数据框。然后我可以尝试为一行分配一个值。
df[1,] <- list(1, "test")
这会导致错误。如果我用纯数值来做,就没有问题。另外,如果我使用 list(1, "") 也可以。
列表可以处理不同的向量类型,数据帧也可以,所以我可能犯了语法错误,但我似乎无法弄清楚。
感谢您帮助新学习者 =)
最佳答案
避免转换为factor
类,您可以将选项设置为 stringsAsFactors=FALSE
或在 data.frame
内指定
op <- options(stringsAsFactors=FALSE)
df[1,] <- list(1, "test")
options(op)
df
# one two
#1 1 test
#2 0
#3 0
#4 0
#5 0
关于r - 在 R 中设置数据帧的行时因子级别无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28530457/