【发布时间】:2014-09-10 03:23:28
【问题描述】:
我有一个大型数据框,其中某些列名部分匹配,如下所示
>data
K55.NSC. H55.NSC. K55.TLC. H55.TLC.
1 27520.09 306.6525 284686.6 8.623333e+00 ... ...
2 57455.33 415244.7340 284693.4 1.319481e+04 ... ...
3 85977.20 814413.8720 284700.1 2.560542e+04 ... ...
4 149511.56 1629331.9228 284713.4 5.103493e+04 ... ...
5 285171.80 3213409.0205 284739.7 1.042913e+05 ... ...
6 510536.16 6233470.3062 284790.7 1.957055e+05 ... ...
我想从 x.TLC 中减去 x.NSC 并创建一个新列作为 x.LLC,其中 x 指的是部分匹配的列名。一种方法是使用“grep”制作单独的数据框:
a <- data[,grep('K55', colnames(data))]
data$k55.LLC <- a[1]-a[2]
... ...
但这很耗时,而且我发现很难为这种情况配置循环。有没有办法在不创建列表的情况下轻松处理数据框中的问题?我发现了一个类似的问题here,但我不确定提供的任何解决方案是否适用于我的情况!
【问题讨论】:
标签: r