使用不同长度的字符向量构建数据框列?

时间:2015-11-18 14:37:18

标签: r dataframe

我想在R中创建一个数据框。 为了简单解决我的问题的2x2示例:

假设第一列是一个简单的向量:

first <- c(1:2)

第二列是每行一个字符向量(但长度不同),例如:

c('A')代表第一行,c('B','C')代表第二行。

如何构建此数据框?

1 个答案:

答案 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"