如何根据R中一列的最终数字删除一行



我有df1,看起来像:

Stabr  Area_name    trucks FIPS   cars accidents
1    US  United States  13.1    0       0      0
2    AL        Alabama  16.8   1000     0      0
3    AL Autauga County  13.8   52000    17     0
4    AL Baldwin County  9.8    4000     33     0
5    AL Barbour County  30.9   1230     0      0
6    AL    Bibb County  21.8   1700     0      0

我想删除FIPS中值为0的所有行,以及FIPS中最后三位数字为000的所有行。我想这只是检查FIPS=0,或者它是否可以被1000整除。有办法做到这一点吗?

输出应该看起来像:

Stabr  Area_name    trucks FIPS   cars accidents
5    AL Barbour County  30.9   1230     0      0
6    AL    Bibb County  21.8   1700     0      0

是的,如果FIPS不等于0,并且FIPS不能被1000整除,则可以保留该行。

subset(df, FIPS != 0 & FIPS %% 1000 != 0)
#  Stabr     Area_name trucks FIPS cars accidents
#5    AL BarbourCounty   30.9 1230    0         0
#6    AL    BibbCounty   21.8 1700    0         0

实际上,您只能检查1000,因为0/1000会给出0。

subset(df, FIPS %% 1000 != 0)

最新更新