如果满足条件,如何制作新列?
how to make a new column if a condition is fulfilled?
我想制作一个警告栏,在满足条件时警告数据库用户。我目前有这样的数据。
item stock_need rto doi
PRE 24DX4SX15G 200 4800 14
PLS 12RX10SX15G 240 2400 10
ADU 24PX200ML 700 4800 8
NIS 18PX40SX11G 200 3600 4
REF 500GX12D 200 2400 20
我想创建一个新列来警告数据库用户,如果 doi 少于 14 天并且 rto/doi<= stock_need。所以输出看起来像这样。
item stock_need rto doi rto/doi warn
PRE 24DX4SX15G 200 4800 14
PLS 12RX10SX15G 240 2400 10 240 order now
ADU 24PX200ML 700 4800 8 600 order now
NIS 18PX40SX11G 200 3600 4 900
REF 500GX12D 200 2400 20
这个条件是怎么做到的?提前致谢
假设您的数据存储在数据帧 df 中:
warnIdx <- (df$doi < 14) & (df$rto/df$doi <= df$stock_need) # find rows fulfilling both conditions
df$warn <- NA_character_ #add a character column
df$warn[warnIdx] <- "order now" #replace tha NAs with "order now" in said rows
我想制作一个警告栏,在满足条件时警告数据库用户。我目前有这样的数据。
item stock_need rto doi
PRE 24DX4SX15G 200 4800 14
PLS 12RX10SX15G 240 2400 10
ADU 24PX200ML 700 4800 8
NIS 18PX40SX11G 200 3600 4
REF 500GX12D 200 2400 20
我想创建一个新列来警告数据库用户,如果 doi 少于 14 天并且 rto/doi<= stock_need。所以输出看起来像这样。
item stock_need rto doi rto/doi warn
PRE 24DX4SX15G 200 4800 14
PLS 12RX10SX15G 240 2400 10 240 order now
ADU 24PX200ML 700 4800 8 600 order now
NIS 18PX40SX11G 200 3600 4 900
REF 500GX12D 200 2400 20
这个条件是怎么做到的?提前致谢
假设您的数据存储在数据帧 df 中:
warnIdx <- (df$doi < 14) & (df$rto/df$doi <= df$stock_need) # find rows fulfilling both conditions
df$warn <- NA_character_ #add a character column
df$warn[warnIdx] <- "order now" #replace tha NAs with "order now" in said rows