我有一个要删除的数据集,这是一小部分摘录。
date price bedrooms bathrooms sqft_living sqft_lot floors waterfront view condition grade sqft_above sqft_basement yr_built yr_renovated true_date fbasement renovated
1 16434 2646000 3 2 1460 11481 1 0 No Bad 2 1170 290 1995 0 2014-12-30 yes No
2 16325 7854000 5 3 3370 10315 1+ 0 No Good 4 3370 0 2006 0 2014-09-12 no No
3 16275 10638600 4 2 3000 5639 1+ 0 No Good 3 3000 0 2008 0 2014-07-24 no No
4 16283 4900000 3 1 860 7030 1 0 No Good 2 860 0 1973 0 2014-08-01 no No
5 16491 7910000 3 3 3210 15939 1+ 0 Yes Good 4 3210 0 1998 0 2015-02-25 no No
6 16352 7140000 3 2 1990 7405 1 0 No Pristine 2 1990 0 1971 0 2014-10-09 no No
7 16300 6566000 3 3 1370 1194 1+ 0 No Good 3 1370 0 2004 0 2014-08-18 no No
8 16241 13706000 3 2 1700 14133 1 0 Yes Good 3 1700 0 1954 0 2014-06-20 no No
9 16304 6299300 4 2 2070 7312 1 0 No Good 2 1230 840 1977 0 2014-08-22 yes No
10 16443 4613000 5 2 3290 8000 1 0 No Good 2 1790 1500 1968 0 2015-01-08 yes No
在我的数据集中,如果yr_renovated> 0,则必须从yr_renovated中减去年份;如果yr_renovated从true_date减去<= 0,则必须从yr_built中减去年份,基本上只是检查房屋建造到销售或装修之间的时间。它的销售。
问题在于我运行代码后有2个条目为-1
House_Data$true_date <- as.Date(House_Data$true_date)
true_date_year <- as.integer(format(House_Data$true_date, "%Y"))
years_since_renovation <- with(House_Data, true_date_year - ifelse(yr_renovated == 0, yr_built, yr_renovated))
summary(years_since_renovation)
Min. 1st Qu. Median Mean 3rd Qu. Max.
-1.00 17.00 38.00 40.95 60.00 115.00
如何从下面的代码给出否定结果的数据框中删除行?
with(House_Data, true_date_year - ifelse(yr_renovated == 0, yr_built, yr_renovated))