【发布时间】:2020-06-15 03:17:37
【问题描述】:
我正在尝试使用数据表包。我想找到一种方法来根据与计算相关的 3 个变量中的特定条件创建新列。
#this is my dataset
dput(dt[1:5])
structure(list(cashtype = c("", "", "", "", ""), quantity = c(1200000,
1400000, 2400000, 2500000, 810000), price_mid = c(100.0385, 102.5583,
92.7059, 108.515, 113.8505), value_mid = c(1200462.3, 1189302.74,
2224941.6, 2712875, 922189.41), currency_price = c("GBP", "EUR",
"GBP", "GBP", "GBP"), currency_value = c("GBP", "GBP", "GBP",
"GBP", "GBP")), class = c("data.table", "data.frame"), row.names = c(NA,
-5L), .internal.selfref = <pointer: 0x15f28c0>)`
我需要检查这个大型数据集的计算。并不是所有的数字加起来。但我有办法检查。这是“value_mid”列除以“quantity”乘以 100。这应该加起来到 price_mid 列。使用列有效检查。在此之后,我想理想地将“有效”观察结果转换为与“price_mid”匹配的“真”,而那些不匹配“假”的观察结果。
dt[,valid:= (value_mid/quantity)*100]
我不确定如何在数据表中使用 ifelse 函数。发现它令人困惑。谢谢
【问题讨论】:
标签: r if-statement datatable