【发布时间】:2021-06-27 14:10:00
【问题描述】:
让我们考虑以下列表:
lst <- list((c("A")), (c("B")), (c("A", "B")), (c("A", "B", "C")))
列表的第一个和第二个元素包含一个元素,第三个包含两个元素,最后一个包含三个元素。我想要做的是用 NA 填充每个元素,以便每个元素都具有相同的长度。即
现在我们有了:
lst
[[1]]
[1] "A"
[[2]]
[1] "B"
[[3]]
[1] "A" "B"
[[4]]
[1] "A" "B" "C"
我想拥有:
lst
[[1]]
[1] "A" NA NA
[[2]]
[1] "B" NA NA
[[3]]
[1] "A" "B" NA
[[4]]
[1] "A" "B" "C"
我的第一个想法当然是使用rep 和lapply。所以:
lapply(lst, function(x) rep(NA, 3 - length(x)))
但是,我对lapply 函数的理解似乎并不像它正在工作的那样。你能帮我解决这个问题吗?
【问题讨论】:
标签: r string list character lapply