[英]If a condition is met, add entire row to a new dataframe in 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 行,但我工作正常,因為它循環到 9437,這是數據幀的長度
謝謝
這實際上只是一個過濾任務,所以你可以做一些更簡單的事情,比如:
highCost <- AirBnbListingDublin[AirBnbListingsDublin$price >= 1000,]
或者在tidyverse
:
highcost <- dplyr::filter(AirBnbListingDublin, price >= 1000)
如果您堅持使用for
循環,那么下面的代碼可能正是您需要的
highCost <- data.frame()
for(i in 1:length(AirBnbListingsDublin$price)){
if(AirBnbListingsDublin$price[i] >= 1000){
highCost <- rbind(highCost,AirBnbListingsDublin[i, ])
}
}
否則,更簡單的方法應該是
highCost <- subset(AirBnbListingsDublin, price >= 1000)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.