【发布时间】:2020-04-26 01:00:28
【问题描述】:
大家好,我正在尝试同时使用多个条件将计算字段添加到 R 中的数据框中。
我有以下名为 df 的数据框
ID A AA AAA AAAA AAAAA
1 1 a no 57 10 100.0%
2 2 b no 32 7 70.0%
3 3 c yes 30 7 70.0%
4 4 d no 52 7 70.0%
我想添加一个名为 Z 的新字段,其条件如下,如果为真,则基本上添加 25%
ifelse(df$AA=="yes",0.25,0) + ifelse(df$AAA<30,0.25,0) + ifelse(df$AAAA>4,0.25,0)
所以我添加了以下代码
df$Z<-as.data.frame(ifelse(df$AA=="yes",0.25,0)+ifelse(df$AAA<30,0.25,0)+ifelse(df$AAAA>4,0.25,0))
但我收到以下错误
Error in `$<-.data.frame`(`*tmp*`, Z, value = list(`ifelse(df$AA=="yes",0.25,0)+ifelse(df$AAA<30,0.25,0)+ifelse(df$AAAA>4,0.25,0)` = numeric(0))) :
replacement has 0 rows, data has 200
我想我正在尝试将一个 excel 公式翻译成 R
=IF(C2="yes";25%;0)+IF(D2<30;25%;0)+IF(E2>4;25%;0)
最好的问候
【问题讨论】:
-
为了让您的问题易于重现,请将您的数据框放入一个可用的对象中,例如:df
标签: r dataframe if-statement