我有一个看起来像这样的矢量:
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()
,但后来陷入困境,如何根据需要重新排列输出。
答案 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 = "/"))