首页 > 解决方案 > R 数据框将“列表”类型的列转换为 chr/int/

问题描述

我收到了一个如下所示的数据框:

a = as.data.frame(cbind(list("BNP Paribas", NULL, "Bano SA", "Unicredit"),
  list(1,2,3,4)))

我想把它转换成这样的框架:

NAME <- c("BNP Paribas", NA, "Bano SA", "Unicredit")
value <- c(1,2,3,4)
b<- data.frame(NAME,value)

编辑:这篇文章的早期版本包含令人困惑的 scnreeshots。我找到了一种以编程方式创建有问题的两个数据结构的方法。

标签: rlistdataframe

解决方案


目前还不清楚这里发生了什么。在您的第一个示例中,它看起来像是c_67单个字符元素列表的嵌套列表,而在后者中,您似乎有一个标准的data.frame.

我会假设一些类似的东西

columns <- as.data.frame(lapply(c_67, unlist, recursive = TRUE))

会做你的工作。但是,如果您可以从其他地方查询它,那似乎是更好的选择。


推荐阅读