我有一个dataframe
,time
列和string
列。我想要subset
这个dataframe
- 在那里我只保留其中string
列包含$
符号的行。
子集后,我要清理string
列,使其只包含characters
的$
符号之后,直到有一个space
或symbol
df <- data.frame("time"=c(1:10),
"string"=c("$ABCD test","test","test $EFG test",
"$500 test","$HI/ hello","test $JK/",
"testing/123","$MOO","$abc","123"))
我想最终的输出是:
Time string
1 ABCD
3 EFG
4 500
5 HI
6 JK
8 MOO
9 abc
它只保留在字符串列中有$
的行,然后只保留之后的字符10个符号,并直至space
或symbol
我已经取得了一些成功sub
简单地拉出string
,但一直没能适用于该df
和其子集。谢谢你的帮助。
这真是太好了,谢谢。有一件事我在我没有预见到的数据集上运行时遇到了 - 有些字符串实际上有多次出现'$ string' - 例如,一个值可能是$ ABCD test $ EBC和$ FB' - 这产生了一个值c(“ABCD”,“EBC”,“FB”)'。是否有可能只存储第一次出现?谢谢! – newtoR
@newtoR使用这一行来获得只有第一个出现'x < - i [grepl(“$”,i,fixed = TRUE)] [1]',作为注释添加到帖子中 – zx8754