我目前有一个df,我使用reshape2包进行提炼和重新组织。我的新df现在包含一些名称由“_”分隔的列,如下所示:
Location Type Time DO_ResultValue ENT_ResultValue TEMP_WATER_ResultValue
CHE008 Out 7:58 3.19 mg/l <10 MPN/100ml 13 deg C
CHEFENCO Out 6:53 8.54 mg/l 34 MPN/100ml 12.7 deg C
REVx2 In 7:19 6.72 mg/l 127 MPN/100ml 13.6 deg C
当我融化我的df然后将“ResultValue”中的变量放到他们自己的列中时,产生了“_ResultValue”。另请注意,TEMP_WATER中已有一个分隔符。我正在寻找的输出是。
Location Type Time DO ENT TEMP_WATER
CHE008 Out 7:58 3.19 mg/l <10 MPN/100ml 13 deg C
CHEFENCO Out 6:53 8.54 mg/l 34 MPN/100ml 12.7 deg C
REVx2 In 7:19 6.72 mg/l 127 MPN/100ml 13.6 deg C
我需要从标题中删除“_ResultValue”,以便我可以将标题与所需标题的用户输入列表进行匹配,并对列重新排序以生成输出表。因此,我不能使用某种colnames()函数并手动重命名它们的名称将根据用户输入的每次运行而变化。
非常感谢帮助!谢谢!
答案 0 :(得分:3)
这两个功能可以帮助您。
> unlist(strsplit(x, "_ResultValue"))
[1] "Location" "Type" "Time" "DO" "ENT" "TEMP_WATER"
> gsub("_ResultValue", "", x)
[1] "Location" "Type" "Time" "DO" "ENT" "TEMP_WATER"
答案 1 :(得分:0)
只需使用sub
即可处理names()
值。它将跳过没有该扩展名的字符串:
names(dfrm) <- sub("_ResultValue", "", names(dfrm) )