R根据向量值删除数据帧行

R根据向量值删除数据帧行,r,R,我需要根据另一个数据帧中的值从数据帧中删除一行。我相信我很快就会在我的公式上做一些愚蠢的事情,但我根本看不出这是什么,所以我请求你的帮助 我有这个数据框,我想从中删除一些行: > Teste Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 Q19 Q20 Q21 1 5 4 4 4 6 6 7 6 4 6 6 6 4 4 4 4 6 7 4 4

我需要根据另一个数据帧中的值从数据帧中删除一行。我相信我很快就会在我的公式上做一些愚蠢的事情,但我根本看不出这是什么,所以我请求你的帮助

我有这个数据框,我想从中删除一些行:

> Teste
   Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 Q19 Q20 Q21
1   5  4  4  4  6  6  7  6  4   6   6   6   4   4   4   4   6   7   4   4   6
2   5  4  4  5  5  5  5  5  5   5   7   5   4   3   1   6   6   5   6   7   7
3   4  5  4  4  5  4  5  4  5   4   5   4   5   4   5   4   5   4   5   4   5
4   5  5  7  7  4  6  6  6  7   7   6   7   7   6   6   7   4   7   6   6   7
5   6  1  7  6  7  7  7  7  7   7   6   7   2   2   3   6   3   7   7   7   7
6   4  4  3  3  4  5  4  3  4   7   6   6   4   4   6   4   5   7   6   6   7
7   1  1  7  7  7  3  7  6  2   7   6   7   6   7   4   7   7   7   7   4   7
8   5  5  6  7  6  6  4  4  5   6   7   6   4   4   5   3   3   7   6   6   7
9   5  4  7  4  7  6  6  7  5   7   6   7   4   5   4   7   5   7   7   7   7
10  6  4  7  4  7  6  6  7  5   7   7   7   4   4   3   6   4   7   7   6   7
11  7  7  7  7  7  7  7  7  7   7   7   7   7   7   7   7   7   7   7   7   7

> dput(Teste)
structure(list(Q1 = c(5L, 5L, 4L, 5L, 6L, 4L, 1L, 5L, 5L, 6L, 
7L), Q2 = c(4L, 4L, 5L, 5L, 1L, 4L, 1L, 5L, 4L, 4L, 7L), Q3 = c(4L, 
4L, 4L, 7L, 7L, 3L, 7L, 6L, 7L, 7L, 7L), Q4 = c(4L, 5L, 4L, 7L, 
6L, 3L, 7L, 7L, 4L, 4L, 7L), Q5 = c(6L, 5L, 5L, 4L, 7L, 4L, 7L, 
6L, 7L, 7L, 7L), Q6 = c(6L, 5L, 4L, 6L, 7L, 5L, 3L, 6L, 6L, 6L, 
7L), Q7 = c(7L, 5L, 5L, 6L, 7L, 4L, 7L, 4L, 6L, 6L, 7L), Q8 = c(6L, 
5L, 4L, 6L, 7L, 3L, 6L, 4L, 7L, 7L, 7L), Q9 = c(4L, 5L, 5L, 7L, 
7L, 4L, 2L, 5L, 5L, 5L, 7L), Q10 = c(6L, 5L, 4L, 7L, 7L, 7L, 
7L, 6L, 7L, 7L, 7L), Q11 = c(6L, 7L, 5L, 6L, 6L, 6L, 6L, 7L, 
6L, 7L, 7L), Q12 = c(6L, 5L, 4L, 7L, 7L, 6L, 7L, 6L, 7L, 7L, 
7L), Q13 = c(4L, 4L, 5L, 7L, 2L, 4L, 6L, 4L, 4L, 4L, 7L), Q14 = c(4L, 
3L, 4L, 6L, 2L, 4L, 7L, 4L, 5L, 4L, 7L), Q15 = c(4L, 1L, 5L, 
6L, 3L, 6L, 4L, 5L, 4L, 3L, 7L), Q16 = c(4L, 6L, 4L, 7L, 6L, 
4L, 7L, 3L, 7L, 6L, 7L), Q17 = c(6L, 6L, 5L, 4L, 3L, 5L, 7L, 
3L, 5L, 4L, 7L), Q18 = c(7L, 5L, 4L, 7L, 7L, 7L, 7L, 7L, 7L, 
7L, 7L), Q19 = c(4L, 6L, 5L, 6L, 7L, 6L, 7L, 6L, 7L, 7L, 7L), 
Q20 = c(4L, 7L, 4L, 6L, 7L, 6L, 4L, 6L, 7L, 6L, 7L), Q21 = c(6L, 
7L, 5L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L)), .Names = c("Q1", 
"Q2", "Q3", "Q4", "Q5", "Q6", "Q7", "Q8", "Q9", "Q10", "Q11", 
"Q12", "Q13", "Q14", "Q15", "Q16", "Q17", "Q18", "Q19", "Q20", 
"Q21"), row.names = c(NA, 11L), class = "data.frame")
我的标准是根据此向量中的值删除相应的行:

> Teste2
   apply.TiposMotivA.1.11.....1..function.x..sum.x....Mode.x...
1                                                            10
2                                                            10
3                                                            11
4                                                             9
5                                                            12
6                                                             8
7                                                            12
8                                                             7
9                                                            10
10                                                            9
11                                                           21
> dput(Teste2)
structure(list(apply.TiposMotivA.1.11.....1..function.x..sum.x....Mode.x... = c(10L, 
10L, 11L, 9L, 12L, 8L, 12L, 7L, 10L, 9L, 21L)), .Names = "apply.TiposMotivA.1.11.....1..function.x..sum.x....Mode.x...", row.names = c ("1", 
"2", "3", "4", "5", "6", "7", "8", "9", "10", "11"), class = "data.frame")
如果Teste2中的对应值除以0.21小于0.762,则必须删除Teste中的任何行。 我试图通过使用此命令来达到此目的,但出现以下错误:

> Teste3 <- Teste[!apply(Teste2,1,function(x) {any((x / 0.21) >= 0.762)}),]
Error in apply(Teste2, 1, function(x) { : 
dim(X) must have a positive length
>Teste3=0.762)}),]
应用(Teste2,1,函数(x)时出错{:
尺寸(X)必须具有正长度

非常感谢您的帮助!

也许我遗漏了什么,但我觉得您只需要:

Teste[Teste2/.21 < .762,]

你的
Teste2
是一个向量。你不能在向量上使用
apply
。哎呀,我知道我应该缺少一些东西。好的,我已经将它转换为数据帧了,你不需要将它转换为数据帧。向量就足够了。谢谢Marat,但这返回了零rowsWell,这是正确的结果,因为Teste2中的每个值都除以0.21大于0.762。该死,我又犯了一个愚蠢的错误。我需要除以21,而不是.21!现在它就像一个符咒,非常感谢!
Teste[Teste2[,1]/.21 < .762,]