【发布时间】:2016-02-05 20:16:33
【问题描述】:
我在 R 中遇到了这个问题,我想用逗号分割字符串,然后用分号进一步分割,但只保留分号之前的第一项,即下面的 ee 和 jj。我尝试了很多东西,但嵌套列表似乎太复杂了!
这是我正在做的事情:
d <- c("aa,bb,cc,dd,ee;e,ff",
"gg,hh,ii,jj;j")
e=strsplit(d,",")
myfun2 <- function(x,arg1) {
strsplit(x,";")
}
f=lapply(e,myfun2)
f=
[[1]]
[[1]][[1]]
[1] "aa"
[[1]][[2]]
[1] "bb"
[[1]][[3]]
[1] "cc"
[[1]][[4]]
[1] "dd"
[[1]][[5]]
[1] "ee" "e"
[[1]][[6]]
[1] "ff"
[[2]]
[[2]][[1]]
[1] "gg"
[[2]][[2]]
[1] "hh"
[[2]][[3]]
[1] "ii"
[[2]][[4]]
[1] "jj" "j"
这是我想要的输出
Correct output=
[[1]]
[1] "aa" "bb" "cc" "dd" "ee" "ff"
[[2]]
[1] "gg" "hh" "ii" "jj"
我已经尝试了很多事情,使用 lapply 到嵌套列表“f”并使用了“[[”和“[”但没有成功。
非常感谢任何帮助。 (我知道我错过了一些愚蠢的东西,但现在无法弄清楚!)
【问题讨论】:
标签: r string list nested-lists strsplit