Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 基于两个向量集清除不需要的行的数据帧_R - Fatal编程技术网

R 基于两个向量集清除不需要的行的数据帧

R 基于两个向量集清除不需要的行的数据帧,r,R,寻找一种从数据帧中清除行的方法,该数据帧的值与两组向量不匹配,其中一组应用于column1,第二组应用于column2。我希望这是一个或两个(即,如果x行有一个col1匹配,但没有col2,则x行不被清除)。这就是我想要的,但代码不起作用: purged_frame <- original_frame[(original_frame$Column1 %in% vectorsetforcol1 | original_frame$Column2 %in% vectorsetforcol2),]

寻找一种从数据帧中清除行的方法,该数据帧的值与两组向量不匹配,其中一组应用于column1,第二组应用于column2。我希望这是一个或两个(即,如果x行有一个col1匹配,但没有col2,则x行不被清除)。这就是我想要的,但代码不起作用:

purged_frame <- original_frame[(original_frame$Column1 %in% vectorsetforcol1 | original_frame$Column2 %in% vectorsetforcol2),]

u框架最好分享一个可重复的例子,()

使用基本R
mtcars
data(mtcars)
中可用的数据集,创建两个条件向量

vectorsetforcol1<- mtcars$mpg[mtcars$mpg<15]
vectorsetforcol2<-unique(mtcars$carb[mtcars$carb==2])
输出条件2:(carb==2)

组合条件1和条件2

> mtcars[mtcars$carb %in% vectorsetforcol2,]
                   mpg cyl  disp  hp drat    wt  qsec vs am gear carb
Hornet Sportabout 18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
Merc 240D         24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
Merc 230          22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
Honda Civic       30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
Dodge Challenger  15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
AMC Javelin       15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
Pontiac Firebird  19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
Porsche 914-2     26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
Lotus Europa      30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
Volvo 142E        21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2
> 
> cond.df<-mtcars[(mtcars$mpg %in% vectorsetforcol1 | mtcars$carb %in% vectorsetforcol2  ),]
> cond.df
                     mpg cyl  disp  hp drat    wt  qsec vs am gear carb
Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
Duster 360          14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
Merc 240D           24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
Merc 230            22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
Cadillac Fleetwood  10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4
Lincoln Continental 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4
Chrysler Imperial   14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4
Honda Civic         30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
Dodge Challenger    15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
AMC Javelin         15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
Camaro Z28          13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4
Pontiac Firebird    19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
Porsche 914-2       26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
Lotus Europa        30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
Volvo 142E          21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2
> 
>cond.df cond.df
mpg气缸显示hp drat wt qsec与am齿轮carb
大黄蜂运动约18.7 8 360.0 175 3.15 3.440 17.02 0 3 2
除尘器360 14.3 8 360.0 245 3.21 3.570 15.84 0 3 4
Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
凯迪拉克Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 3 4
林肯大陆10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
克莱斯勒帝国14.7 8 440.0 230 3.23 5.345 17.42 0 3 4
本田思域30.4 4 75.7 52 4.93 1.615 18.52 1 4 2
道奇挑战者15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
AMC标枪15.2 8 304.0 150 3.15 3.435 17.30 0 3 2
卡马罗Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 3 4
庞蒂亚克火鸟19.28400.01753.083.84517.050302
保时捷914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
莲花欧罗巴30.4 4 95.1 113 3.77 1.513 16.90 1 5 2
沃尔沃142E 21.4 4 121.0 109 4.11 2.780 18.60 1 4 2
> 
试验条件1:(非(mpg<15))

违反条件1的情况之所以存在,是因为它们遵循条件2(carb==2)

>cond.test.col1 cond.test.col1
mpg气缸显示hp drat wt qsec与am齿轮carb
大黄蜂运动约18.7 8 360.0 175 3.15 3.440 17.02 0 3 2
Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
本田思域30.4 4 75.7 52 4.93 1.615 18.52 1 4 2
道奇挑战者15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
AMC标枪15.2 8 304.0 150 3.15 3.435 17.30 0 3 2
庞蒂亚克火鸟19.28400.01753.083.84517.050302
保时捷914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
莲花欧罗巴30.4 4 95.1 113 3.77 1.513 16.90 1 5 2
沃尔沃142E 21.4 4 121.0 109 4.11 2.780 18.60 1 4 2
> 
试验条件2:(非(carb==2))

违反条件2的情况之所以存在,是因为它们遵循条件1(mpg cond.test.col2 cond.test.col2 mpg气缸显示hp drat wt qsec与am齿轮carb 除尘器360 14.3 8 360 245 3.21 3.570 15.84 0 3 4 凯迪拉克Fleetwood 10.4 8 472 205 2.93 5.250 17.98 0 3 4 林肯大陆10.4 8 460 215 3.00 5.424 17.82 0 3 4 克莱斯勒帝国14.7 8 440 230 3.23 5.345 17.42 0 3 4 卡马罗Z28 13.3 8 350 245 3.73 3.840 15.41 0 3 4

这与您的方法相同,如果您提供了一个工作示例,有人可能会指出问题…

在我的上述问题中,编辑可能重复-我需要一个或两个情况。不是重复(或与我正在寻找的解决方案不明显的链接),所以我仍然在寻找解决方案-感谢那些愿意提供帮助的人。这正是我一直在寻找的。我认为我的原始代码存在语法问题,显然是逻辑问题-感谢你指出了这一点(以及关于可再现性的观点)。
> cond.df<-mtcars[(mtcars$mpg %in% vectorsetforcol1 | mtcars$carb %in% vectorsetforcol2  ),]
> cond.df
                     mpg cyl  disp  hp drat    wt  qsec vs am gear carb
Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
Duster 360          14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
Merc 240D           24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
Merc 230            22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
Cadillac Fleetwood  10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4
Lincoln Continental 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4
Chrysler Imperial   14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4
Honda Civic         30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
Dodge Challenger    15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
AMC Javelin         15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
Camaro Z28          13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4
Pontiac Firebird    19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
Porsche 914-2       26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
Lotus Europa        30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
Volvo 142E          21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2
> 
> cond.test.col1<-cond.df[!cond.df$mpg %in% vectorsetforcol1, ]
> cond.test.col1
                   mpg cyl  disp  hp drat    wt  qsec vs am gear carb
Hornet Sportabout 18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
Merc 240D         24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
Merc 230          22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
Honda Civic       30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
Dodge Challenger  15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
AMC Javelin       15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
Pontiac Firebird  19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
Porsche 914-2     26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
Lotus Europa      30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
Volvo 142E        21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2
> 
> cond.test.col2<-cond.df[!cond.df$carb %in% vectorsetforcol2, ]
> cond.test.col2
                     mpg cyl disp  hp drat    wt  qsec vs am gear carb
Duster 360          14.3   8  360 245 3.21 3.570 15.84  0  0    3    4
Cadillac Fleetwood  10.4   8  472 205 2.93 5.250 17.98  0  0    3    4
Lincoln Continental 10.4   8  460 215 3.00 5.424 17.82  0  0    3    4
Chrysler Imperial   14.7   8  440 230 3.23 5.345 17.42  0  0    3    4
Camaro Z28          13.3   8  350 245 3.73 3.840 15.41  0  0    3    4