【发布时间】:2019-01-18 11:03:19
【问题描述】:
在数据框ad2中,如果成本值在上下之间,则制作一个新的数据框。 我尝试了以下方法:
if (ad2$Cost.x>=ad2$lower & ad2$Cost.x<=ad2$upper) {
ad3<-ad2[ad2$Country,ad2$Brand, ad2$Year, ad2$BU219.x, ad2$Cost.x, ad2$Value.x, ad2$Optimized_point.x]
}
但是出现了这个错误
the condition has length > 1 and only the first element will be used
【问题讨论】:
-
如果您的目标是创建一个新的
data.frame,其中包含成本值介于上限和下限之间的行,您可能想尝试ind <- which(ad2$Cost.x>=ad2$lower & ad2$Cost.x<=ad2$upper); ad3 <- ad2[ind, ] -
不需要使用哪个,在这种情况下,ad3 =ad2$lower & ad2$Cost.x
标签: r dataframe if-statement