R 检查语句并替换值
我有一张表格,上面显示了一家商店一周开了多少天,以及那一周卖出了多少商品,就像这样R 检查语句并替换值,r,data.table,R,Data.table,我有一张表格,上面显示了一家商店一周开了多少天,以及那一周卖出了多少商品,就像这样 ID days items 1 4 10 2 5 50 3 4 100 4 3 80 5 1 30 6 2 50 7 5 80 我想添加一个列,如果该商店开业超过4天,销售超过50种商品,则该列为真 ID days items check 1 4 10 FALSE 2 5 50 TRUE 3 4
ID days items
1 4 10
2 5 50
3 4 100
4 3 80
5 1 30
6 2 50
7 5 80
我想添加一个列,如果该商店开业超过4天,销售超过50种商品,则该列为真
ID days items check
1 4 10 FALSE
2 5 50 TRUE
3 4 100 TRUE
4 3 80 FALSE
5 1 30 FALSE
6 2 50 FALSE
7 5 80 TRUE
如何使用data.table中的:=函数执行此操作?
它可以用FOR循环和IF语句来完成,但代价很高,因为这个表很大
library(data.table)
setDT(df)
df[, check := days > 4 & items > 50]
这给了我们:
ID days items check
1: 1 4 10 FALSE
2: 2 5 50 FALSE
3: 3 4 100 FALSE
4: 4 3 80 FALSE
5: 5 1 30 FALSE
6: 6 2 50 FALSE
7: 7 5 80 TRUE
要获得所需结果,您可以添加=尽管这与文本中的描述不匹配:
df[, check := days >= 4 & items >= 50]
ID days items check
1: 1 4 10 FALSE
2: 2 5 50 TRUE
3: 3 4 100 TRUE
4: 4 3 80 FALSE
5: 5 1 30 FALSE
6: 6 2 50 FALSE
7: 7 5 80 TRUE
这是非常基本的。你研究过数据表中的小插曲了吗?它们展示了如何做到这一点: