我正在尝试为维基百科用户所做的每次编辑创建一个人工数据框,其中包含维基百科用户贡献和删除的单词,最终结果应如下所示:
我创建了一些人工数据来构建这样的框架,但我在使用变量“添加的 token ”和“删除的 token ”时遇到了问题。
我认为将它们创建为列表的列表将使我能够将它们包含在数据框中,即使元素的长度并不总是相等。但显然并非如此。相反,R 为每个单独的标记创建一个变量。那是不可行的,因为它会产生数百万个变量。下面是一些代码来举例说明:
a <- c(1,2,3)
e <- list(b = as.list(c("a","b")),c = as.list(c(1L,3L,5L,4L)),d = as.list(c(TRUE,FALSE,TRUE)))
DF <- cbind(a,e)
U <- data.frame(a,e)
我希望它是这样的:
在带有数据帧的 R 中,这是否可能(我已经尝试过寻找答案,但它们要么针对不同的问题,要么对我来说太技术化了)?非常感谢任何帮助!
最佳答案
如果你愿意使用library(tibble)
,你可以做你想做的事:
library(tibble)
a <- c(1,2,3)
e <- list(b = as.list(c("a","b")),c = as.list(c(1L,3L,5L,4L)),d = as.list(c(TRUE,FALSE,TRUE)))
tibble(a,e)
# A tibble: 3 × 2
a e
<dbl> <list>
1 1 <list [2]>
2 2 <list [4]>
3 3 <list [3]>
tibble
或 tbl_df
的行为就像您习惯使用传统的 data.frame
一样,但允许您使用一些不错的额外功能,例如在列中存储各种长度的列表。
关于R 在 Dataframe 中包含字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43919193/