我想在R
中创建一个数据框。
为了简单解决我的问题的2x2示例:
假设第一列是一个简单的向量:
first <- c(1:2)
第二列是每行一个字符向量(但长度不同),例如:
c('A')
代表第一行,c('B','C')
代表第二行。
如何构建此数据框?
答案 0 :(得分:3)
如果要在特定列的每一行中存储不同的矢量大小,则需要使用list
,问题(来自?data.frame
)
如果将列表或数据框或矩阵传递给data.frame,就好像 每个组件或列都已作为单独的参数传递
因此,您需要将其包装到I
中,以保护您所需的结构,例如
df <- data.frame(first = 1:2, Second = I(list("A", c("B", "C"))))
str(df)
# 'data.frame': 2 obs. of 2 variables:
# $ first : int 1 2
# $ Second:List of 2
# ..$ : chr "A"
# ..$ : chr "B" "C"
# ..- attr(*, "class")= chr "AsIs"