R Data.Table操作列后调用V1

时间:2017-11-30 13:26:09

标签: r data.table

我想知道是否可以在一个语句中重命名新生成的列

bc <- csv_data[!grepl("post|pads|m|dot|d|cruk|c2", StockCode), sum(as.numeric(gsub(",", ".", UnitPrice))*Quantity),by= c("Country", "CustomerID")]

我实际上只是做了一些计算,结果到目前为止还不错。唯一的小错误是新生成的列被称为V1,我想在同一语句中重命名它们。在SQL中我只使用AS,但在R中,当我使用例如。 NewCol:= sum(as.numeric(gsub(&#34;,&#34;,&#34;。&#34;,UnitPrice))* Quantity)源表被修改。

知道如何存档吗?

由于 斯蒂芬

1 个答案:

答案 0 :(得分:1)

使用.()运算符并指定一个新变量new_var_name。 当然,我假设您正在使用data.table包

library(data.table)
setDT(csv_data)
bc <- csv_data[!grepl("post|pads|m|dot|d|cruk|c2", StockCode),
               .(new_var_name = sum(as.numeric(gsub(",", ".", UnitPrice))*Quantity)),
               by= c("Country", "CustomerID")]