【发布时间】:2015-02-24 16:23:38
【问题描述】:
我想根据正则表达式以适当的方式重命名数据表中的每一列。
library(data.table)
DT <- data.table("a_foo" = 1:2, "bar_b" = 1:2)
a_foo bar_b
1: 1 1
2: 2 2
我想从名称中删除“_foo”和“bar_”。这条经典线路可以解决问题,但它也复制了整个表格。
names(DT) <- gsub("_foo|bar_", "", names(DT))
如何使用setnames() 做同样的事情?我有很多变量,所以不能只写出所有的名字。
【问题讨论】:
-
试试
setnames(DT, names(DT), gsub("_foo|bar_", "", names(DT))) -
@akrun 您不需要该表达式中的第二个参数
-
@eddi 是的,它应该可以工作,但我遵循描述中的内容以避免任何混淆。
setnames(x,old,new) -
谢谢,它确实有效。我应该试试这个。我现在应该删除我的问题吗?
-
@janosdivenyi 如果您不介意,我可以将此作为解决方案发布
标签: regex r data.table