【发布时间】:2021-11-20 13:50:43
【问题描述】:
我有一个表(称为 money_table),其中有许多列,其名称中带有财政年度后缀:
ID LunchMoney_1213 DinnerMondey_1213 LunchMoney_1314 DinnerMondy_1314
01 12 24 17 18
02 234 12 43 44
03 14 19 2 12
我需要创建新列,添加相关年份的LunchMoney 和DinnerMoney 金额,并删除旧列。这个想法是这样结束的:
ID TotalMoney_1213 TotalMoney_1314
01 36 35
02 246 87
03 33 14
我用的是data.table,因为表很大,我可以用下面的代码做我想做的事:
money_table[,':='(TotalMoney_1213 = LunchMoney_1213 + DinnerMoney_1213,
TotalMoney_1314 = LunchMoney_1314 + DinnerMoney_1314)][,c(LunchMoney_1213,DinnerMoney_1213, LunchMoney_1314, DinnerMoney_1314) := NULL]
但是有很多年,所以像这样写出来会花费太长时间。我知道必须有一种方法可以使用列名中的数字并更有效地执行此操作,但我无法弄清楚。
非常感谢任何帮助。
【问题讨论】:
标签: r data.table