r - 将新行添加到具有列表类型列的数据框
问题描述
我想在数据框的特定列中每个单元格有多个元素。R-bloggers 上有一个注释,解释了如何使用列表进行操作:
> d <- data.frame(id=1:2)
> d$name <- list(c("Bond", "James"),c("Poppins", "Mary"))
> d
id name
1 1 Bond, James
2 2 Poppins, Mary
到目前为止,一切都很好。但现在我想在数据框中添加更多行。这是结果:
> d[nrow(d) + 1,] <- list(3, c("Hood", "Robin"))
Warning message:
In `[<-.data.frame`(`*tmp*`, nrow(d) + 1, , value = list(3, c("Hood", :
replacement element 2 has 2 rows to replace 1 rows
> d
id name
1 1 Bond, James
2 2 Poppins, Mary
3 3 Hood
向量的第二个元素被丢弃。如何说服 R 也将第二个元素添加到名称单元格中?
解决方案
我们可以用add_row
library(tibble)
add_row(d, id = 3, name = list(c('Bond', 'Robbin')))
# id name
#1 1 Bond, James
#2 2 Poppins, Mary
#3 3 Bond, Robbin
关于分配下一行的方式,我们有一个list
作为list
第二列
d[nrow(d) + 1, ] <- list(3, list(c("Hood", "Robbin")))
d
# id name
#1 1 Bond, James
#2 2 Poppins, Mary
#3 3 Hood, Robbin
推荐阅读
- android - 将字符串存储在共享位置,仅供一组应用程序访问
- c# - SQLite:如何将连接字符串的数据源设置为我的应用程序文件夹中的文件?
- java - Nashorn:Java 接口
- python - 如何提取文本直到达到大写单词?Python
- docker - Alpine Docker 错误:无法锁定数据库:权限被拒绝错误:无法打开 apk 数据库:权限被拒绝
- ios - 使用 3D Touch Peek 功能时如何为表格视图单元格中的项目实现浮动动画?
- c++ - 如何在 linux 中使用 v8 共享库
- arduino - 如何在arduino中将字符串拆分为单词?
- java - 为什么if语句发送继续错误的while循环
- excel - 在 unix 中准确检查剪贴板的内容