将data.frame中的部分名称与新列匹配

时间:2014-12-08 08:55:06

标签: r dataframe

我有一个带有一列Sample.Names的data.frame。名称包含样本来自的信息。例如c(RT4_4,RT3_6,RT4_2,RT3_9,RT5_5)RTx是它们所在站点的名称,然后是数字。

我想要一个新的列,它可以提供给我的信息。如果Sample.Names包含RT4 - > df $ Site == RT4

我不知道是否有一些功能可以让你看到我想法的部分名称

df$Site <- with(df, ifelse(df$Sample.Name %in% "RT4","RT4", ifelse(df$Sample.Name %in% "RT3","RT3","RT5")))

这不起作用

1 个答案:

答案 0 :(得分:1)

您可以使用sub

df$Site <- sub("_.+", "", df$Sample.Name)

这适用于由多个数字组成的数字。