如果我这样做
data.frame(`Type` = list(c("aa", "bb")))
列表按行分布,我得到了输出:
c..aa....bb..
1 aa
2 bb
然而如果我分三步完成:
df = data.frame(`Type` = NA)
df$Type <- list(c("aa", "bb"))
df
很好:
Type
1 aa, bb
我还需要首先实例化`Type`。了解这些行为的链接非常受欢迎。
答案 0 :(得分:4)
您可以使用I()
:
data.frame(Type = I(list(c("aa", "bb"))))
# Type
# 1 aa, bb
str(.Last.value)
# 'data.frame': 1 obs. of 1 variable:
# $ Type:List of 1
# ..$ : chr "aa" "bb"
# ..- attr(*, "class")= chr "AsIs"
“dplyr”和“data.table”直接允许:
library(dplyr)
data_frame(Type = list(c("aa", "bb")))
# Source: local data frame [1 x 1]
#
# Type
# (chr)
# 1 <chr[2]>
library(data.table)
data.table(Type = list(c("aa", "bb")))
# Type
# 1: aa,bb