【发布时间】:2014-08-07 00:10:32
【问题描述】:
我在 R 中有一个逗号分隔的字符串:-
"a,b,c"
我想将它转换成如下所示的列表:
list("a","b","c")
我该怎么做?
【问题讨论】:
-
到目前为止你尝试了什么?
我在 R 中有一个逗号分隔的字符串:-
"a,b,c"
我想将它转换成如下所示的列表:
list("a","b","c")
我该怎么做?
【问题讨论】:
这是一个基本的strsplit 问题:
x <- "a,b,c"
as.list(strsplit(x, ",")[[1]])
# [[1]]
# [1] "a"
#
# [[2]]
# [1] "b"
#
# [[3]]
# [1] "c"
strsplit 创建一个list 并且[[1]] 选择第一个列表项(在这种情况下,我们只有一个)。此时的结果只是一个普通的字符向量,但是你想要它在一个list中,所以你可以使用as.list来得到你想要的形式。
同样的逻辑你可以使用el:
as.list(el(strsplit(x, ",")))
# [[1]]
# [1] "a"
#
# [[2]]
# [1] "b"
#
# [[3]]
# [1] "c"
或scan:
as.list(scan(text = x, what = "", sep = ","))
# Read 3 items
# [[1]]
# [1] "a"
#
# [[2]]
# [1] "b"
#
# [[3]]
# [1] "c"
【讨论】: