首页 > 解决方案 > 如何在不使用 for 循环的情况下使用 str_split 拆分嵌套列表?

问题描述

现在我有一个嵌套列表,其中包含类似这样的内容

[[1]] [1] “53” “682, 684” “677” “683”

[[2]] [1] “40, 43” “10” “44, 47”

我想用“,”分割每个列表,这样它们都可以是一个数字列表

[[1]] [1] “53” “682” “684” “677” “683”

[[2]] [1] “40” “43” “10” “44” “47”

现在我现在的想法是我想使用 apply() 并使用递归定义我自己的函数,但是如何检测每行中有多少个列表?

我被要求不要使用 for 循环,那我该怎么办??

标签: r

解决方案


像这样的东西?不确定,因为问题中样本数据的格式未知...

#create sample data
v1 <- c("53", "682, 684", "677", "683")
v2 <- c("40, 43", "10", "44, 47")
l <- list( v1, v2 )

#code
lapply( l, function(x) trimws( unlist ( strsplit( x, ",") ) ) )

#output
# [[1]]
# [1] "53"  "682" "684" "677" "683"
# 
# [[2]]
# [1] "40" "43" "10" "44" "47"
# 

推荐阅读