我有两个向量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个向量的列表。
答案 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