如何将具有大矩阵的两个向量连接到数据帧中?

时间:2016-09-07 18:45:44

标签: r

我有两个向量int [1:100]和一个大矩阵[1:100,1:316387],我正在尝试将它们合并到一个数据框中。

years <- sample(1:10, 100, replace = T)
storms <- sample(1:10, 100, replace = T)
wind_speeds <- matrix(ncol = 316387, nrow = 100, 
                     data = sample(0:250, 31638700, replace = T))

wind_speeds_as_list <-  split(wind_speeds, 
                              rep(1:nrow(wind_speeds), 
                              each = ncol(wind_speeds)))

df <- data.frame(year=years, storm=storms, wind_speed_vector=t(wind_speeds_as_list))

我曾尝试使用wind_speed创建一个列表,但这并没有让我得到我想要的东西。

我想要做的就是结合这个,这样当我做一个df时,我得到: 100个障碍物。 3个变量,这样当我引用df $ wind_speeds时,我会得到一个包含316387个条目的100个向量的列表。

1 个答案:

答案 0 :(得分:2)

如果我们需要list列,我们可以使用I

进行包装
df <- data.frame(year=years, storm=storms, wind_speeds=I(wind_speeds_as_list)))
dim(df)
#[1] 100   3
length(df$wind_speeds)
#[1] 100
is.list(df$wind_speeds)
#[1] TRUE
sum(lengths(df$wind_speeds))
#[1] 31638700