r - 在 R 中设置数据帧的行时因子级别无效

标签 r

这让我有点困惑,这是我正在采取的步骤:

创建数据框:

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/

相关文章:

r - 显示并删除 top_n 最长的 n 个持续时间

r - ggplotly-R,标记跟踪名称

在 R 中重新排序和 reshape 列

r for 循环在单个数据框中导入 xlsx 文件

r - 在一次通话中使用 .N 和 .SD

r - ggplot : lineplot of means of two groups

r - 在 R 轴标签中使用上标

r - 在渐变中绘制背景颜色

r - 了解如何读取设备列表

r - dplyr 根据字符串匹配选择列