我有一个字符串列表列表如下:
> ll
[[1]]
[1] "2" "1"
[[2]]
character(0)
[[3]]
[1] "1"
[[4]]
[1] "1" "8"
最长的列表长度为2,我想在此列表中构建一个包含2列的数据框。奖励积分还用于将列表中的每个项目转换为字符(0)的数字或NA。我已经尝试使用mapply()和data.frame转换为数据框并使用NA填充如下。
# Find length of each list element
len = sapply(awards2, length)
# Number of NAs to fill for column shorter than longest
len = 2 - len
df = data.frame(mapply( function(x,y) c( x , rep( NA , y ) ) , ll , len))
但是,我没有使用上面的代码获得包含2列(以及NA作为填充符号)的数据框。
感谢您的帮助。
答案 0 :(得分:1)
我们可以使用~$ ln -s /mnt/c/Users/USER/pathto/repo /home/USER/public_html
中的stri_list2matrix
。由于stringi
元素都是list
个向量,因此使用此函数似乎没问题
character
如果我们需要转换为library(stringi)
t(stri_list2matrix(ll))
# [,1] [,2]
#[1,] "2" "1"
#[2,] NA NA
#[3,] "1" NA
#[4,] "1" "8"
,请使用data.frame