R - 从strsplit获取单个元素

时间:2014-11-18 22:34:59

标签: r strsplit

我有一个由“_”分隔的字符向量。我想循环遍历每个字符串拆分它,然后使用单个值来获取csv文件的特定行/列以进行一些计算。我怎样才能获得个别元素?

tst <- c("Test1_Test2","Test3_Test4")

splt <- strsplit(tst,"_")
splt

[[1]]
[1] "Test1" "Test2"

[[2]]
[1] "Test3" "Test4"

如何将单个值转换为变量?即。

str1 <- "Test1"
str2 <- "Test2"
str3 <- "Test3"
str4 <- "Test4"

编辑:我发布问题之后我总是把它搞清楚了。

splt[[1]][1]
[1] "Test1"

1 个答案:

答案 0 :(得分:1)

所以基本上strsplit将应用于tst对象的每个元素。这将是这样的事情:

> strsplit(tst, "_")
[[1]]
[1] "Test1" "Test2"

[[2]]
[1] "Test3" "Test4"

然后,您可以使用unlist

将其分解为单个向量
> unlist(strsplit(tst, "_"))
[1] "Test1" "Test2" "Test3" "Test4"

然后你可以根据你想要达到的目标遍历每个单词:

for (elem in unlist(strsplit(tst, "_"))){
  print(elem)
}

> [1] "Test1"
> [1] "Test2"
> [1] "Test3"
> [1] "Test4"