0

我目前有一个 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() 函数并手动重命名它们 b/c 它们的名称将根据用户输入的每次运行代码而有所不同。

非常感谢您的帮助!谢谢!

4

2 回答 2

3

这两个功能可以帮助您。

> unlist(strsplit(x, "_ResultValue"))
[1] "Location"   "Type"       "Time"       "DO"         "ENT"        "TEMP_WATER"
> gsub("_ResultValue", "", x)
[1] "Location"   "Type"       "Time"       "DO"         "ENT"        "TEMP_WATER"
于 2013-07-29T15:10:16.567 回答
0

只是sub用来处理names()价值观。它将跳过没有该扩展名的字符串:

names(dfrm) <- sub("_ResultValue", "", names(dfrm) )
于 2013-07-29T16:51:31.917 回答