我的数据框类似于以下摘录:
Observation Identifier Value
Obs001 ABC_2001 54
Obs002 ABC_2002 -2
Obs003 1
Obs004 1
Obs005 Def_2001/05
我想将此数据框转换为数据框,其中" _" 符号后面的部分字符串将被删除:如下图所示:
Observation Identifier_NoTime Value
Obs001 ABC 54
Obs002 ABC -2
Obs003 1
Obs004 1
Obs005 Def
我尝试过如此处讨论的strsplit
,gsub
和sub
,但不能强迫这些表扬。我必须考虑以下事实:
答案 0 :(得分:9)
您可以尝试使用以下sub
命令从_
符号中删除所有非空格字符。
sub("_\\S*", "", string)
<强>解释强>
_
匹配文字_
符号。\S*
匹配零个或多个非空格字符。或强>
这将删除_
符号
sub("_.*", "", string)
<强>解释强>
_
匹配文字_
符号。.*
匹配任何字符零次或多次。