r - 如果满足条件,则将整行添加到 R 中的新数据框
问题描述
我正在循环通过我的主要数据框来确定在 Air BnB 中过夜的成本 > 1000 的位置,它会将整行添加到新的数据框中。目前,它只是添加一行,但我希望它添加所有这些。
下面是我的代码
highCost <- data.frame()
for(i in 1:length(AirBnbListingsDublin$price)){
if(AirBnbListingsDublin$price[i] >= 1000){
highCost <- data.frame(rbind(AirBnbListingsDublin[i, ]))
}
}
添加到新数据帧的行是主数据帧的第 9273 行,但 i 工作正常,因为它循环直到 9437,这是数据帧的长度
谢谢
解决方案
这实际上只是一个过滤任务,所以你可以做一些更简单的事情,比如:
highCost <- AirBnbListingDublin[AirBnbListingsDublin$price >= 1000,]
或在tidyverse
:
highcost <- dplyr::filter(AirBnbListingDublin, price >= 1000)