我有2个数据集,我需要与使用R的公共列合并,但他们需要更改显示相同的格式,但无法找到如何。 一列看起来像这样R:编辑一个列,以便它可以合并
BT0-3
BT0-4
BT0-5
而其他看起来像这样:
BT0_3.5
BTO_4.5
BT0_5.5
我只是需要使它们相匹配,所以我可以将它们合并(该数值标签,让额外的0.5是只是以不同方式记录)
我有2个数据集,我需要与使用R的公共列合并,但他们需要更改显示相同的格式,但无法找到如何。 一列看起来像这样R:编辑一个列,以便它可以合并
BT0-3
BT0-4
BT0-5
而其他看起来像这样:
BT0_3.5
BTO_4.5
BT0_5.5
我只是需要使它们相匹配,所以我可以将它们合并(该数值标签,让额外的0.5是只是以不同方式记录)
是否所有值都在BT0
开头?在第二列中,其中一个值的类型为BTO
。这是一个错字吗?假设两列的价值观与BT0
开始,确保两个列字符(而不是因子)模式,则:
df$var = gsub("_([0-9])\\..$", "-\\1", df$var)
其中df$var
是要改变数据帧和列。这将用一个连字符代替数字前的下划线,并在字符串末尾删除一个后跟任意字符的句点。
如果你的问题是,如何更换 ' - ' 到 '_',那么这将是: VAR =子(模式= ' - ',更换= '_',X = VAR)
如果你想删除'.5',然后: var = sub(pattern ='.5',replacement ='',x = var) 只会完成这项工作。
函数'sub'和'gsub'之间的区别是'gsub'替换符合模式的所有符号,而'sub'只替换左边的第一个匹配。如果你不太了解你的数据,我会建议使用sub,并且在更换之后尝试'grep'以找到改进。