与缺失值
问题描述:
我有一个数据帧类似于下面所述提取物中的数据帧列的字符串后,取下一切:与缺失值
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
实验这里讨论,但不能强迫那些赞扬工作。我必须考虑到这样一个事实:
- 列有缺失值,我要离开他们,他们是
- 字符串“_”坐落在不同的地方在变量
- 我也想将数据帧的其余部分保留为
答
您可以尝试使用下面的sub
命令从_
符号中删除所有非空格字符。
sub("_\\S*", "", string)
说明:
-
_
匹配文字_
符号。 -
\S*
匹配零个或多个非空格字符。
OR
这从_
符号删除所有的字符,
sub("_.*", "", string)
说明:
-
_
匹配文字_
符号。 -
.*
匹配任何字符零次或多次。
你试过'sub(“_ \\ S +”,“”,string,perl = T)'? – 2014-10-28 15:18:33
谢谢,它像一个魅力。你愿意详细说明吗? – Konrad 2014-10-28 15:20:15
然后我把它作为答案。 – 2014-10-28 15:23:18