如果满足条件,如何制作新列?

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