【发布时间】:2014-10-28 15:16:29
【问题描述】:
我有一个类似于下面摘录的数据框:
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("_\\S+","",string,perl=T)吗? -
谢谢,它就像一个魅力。你愿意详细说明一下吗?
-
然后我把它作为答案。
标签: regex r string gsub strsplit