基于分隔符拆分多个条目

时间:2015-12-16 21:24:06

标签: r split

我有一个看起来像这样的矢量:

df <- c("201/304", "445.5/553", "665/543/224", "332.0/433.0")

已使用散列分隔符将多个值输入到单元格中。有些有两个,有些有三个值(有些可能有更多)。我正在寻找一种通用的方法将其拆分为创建每个都有一个值的矢量(并且没有散列)。

我需要看起来像这样的东西:

df <- c(201, 304, 445.5, 553, 665, 543, 224, 332.0, 433)

我已经尝试了strsplit(),但后来陷入困境,如何根据需要重新排列输出。

3 个答案:

答案 0 :(得分:3)

我们可以使用strsplit

as.numeric(unlist(strsplit(df, '[/]')))

或使用str_extract

library(stringr)
as.numeric(unlist(str_extract_all(df, '[^/]+')))

答案 1 :(得分:3)

我还没有看到此处提到的scan,但以下内容也应该有效:

scan(text = df, sep = "/")
# Read 9 items
# [1] 201.0 304.0 445.5 553.0 665.0 543.0 224.0 332.0 433.0

答案 2 :(得分:0)

使用以下内容。

unlist(strsplit(df, split = "/"))