根据条件删除R中的行

时间:2019-09-14 19:43:24

标签: r dataframe

我有一个要删除的数据集,这是一小部分摘录。

    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))

0 个答案:

没有答案