从包括空向量的向量创建数据帧



我有下面这样的向量

country = c("A", "B", "C")
value = c("x")
price = (character 0) #empty vector

我需要获得如下数据帧(只需将这些向量与NA值合并(

country  value  price
A        x       NA
B        NA      NA
C        NA      NA

如何将这些矢量绑定到数据帧?

你可以做:

a <- list(country = country, value=value, price = price)
data.frame(lapply(a, `length<-`, max(lengths(a))))
country value price
1       A     x  <NA>
2       B  <NA>  <NA>
3       C  <NA>  <NA>

我们可以使用stri_list2matrix

library(stringi)
out <- stri_list2matrix(list(country, value, price))
colnames(out) <- c('country', 'value', 'price')
out
#     country value price
#[1,] "A"     "x"   NA   
#[2,] "B"     NA    NA   
#[3,] "C"     NA    NA   

最新更新