【发布时间】:2019-10-03 21:33:40
【问题描述】:
我有一个包含多个时间点(波)的问卷数据的大型数据集。问卷在每一点都是相同的,因此变量以“w#variablename”的形式按时间标记(例如,“w1age”、“w2age”、“w3age”)。
我按每个时间点将较大的文件拆分为数据帧,因此我现在想从每列的列名中删除“w#”。
基本上,我想使用 R 来“查找和替换”以删除任何带有“w1”的列。
我将数据拆分如下:
w1 = Data %>% select(matches("w1"))
w2 = Data %>% select(matches("w2"))
w3 = Data %>% select(matches("w3"))
w4 = Data %>% select(matches("w4"))
现在对于这 4 个数据集,我想从列名中删除相应的“w#”。
谢谢!
【问题讨论】:
-
我认为你可以使用
rename_at而不创建多个对象Data %>% rename_at(vars(matches("^w\\d+")), ~ str_remove(., "^w\\d+")) -
您要重命名
w#列,还是要完全删除它们?
标签: r loops replace multiple-columns rename