按两个条件对数据帧进行子集时出错

时间:2016-02-18 05:13:18

标签: r dplyr

我当前的数据集结构如下:

> dput(head(MovementAnalysis, 3))
structure(list(Quarter = c(1L, 1L, 1L), Name = c("Greg", "Greg", 
"Greg"), Sample = 1:3, Position = c("Back", "Back", "Back"), X = c(26.6627, 
26.6564, 26.6497), Y = c(-12.3782, -12.3711, -12.3635), Time = c(0.01, 
0.02, 0.03), Timemin = c(0.000166666666666667, 0.000333333333333333, 
5e-04), Distance = structure(c(NA, 0.0094921019800667, 0.0101316336293823
), Size = 2L, Diag = FALSE, Upper = FALSE, method = "euclidean", call = dist(x = matrix(c(26.6564, 
    -12.3711, 26.6627, -12.3782), nrow = 2, byrow = TRUE)), class = "dist"), 
    Velocity = c(NA, 0.94921019800667, 1.01316336293823), Acceleration = c(NA, 
    NA, 6.39531649315564), AngularVelocity = c(NA_real_, NA_real_, 
    NA_real_)), .Names = c("Quarter", "Name", "Sample", "Position", 
"X", "Y", "Time", "Timemin", "Distance", "Velocity", "Acceleration", 
"AngularVelocity"), class = c("data.table", "data.frame"), row.names = c(NA, 
-3L))

Velocity超过10.000时,我使用以下代码查找事件。

require(dplyr)
my.data.frame <- filter(MovementAnalysis, Name == "Greg" | Velocity > 10.000)

但是,会返回以下数据框:

> dput(head(my.data.frame, 3))
structure(list(Quarter = c(1L, 1L, 1L), Name = c("Greg", "Greg", 
"Greg"), Sample = 1:3, Position = c("Back", "Back", "Back"), X = c(26.6627, 
26.6564, 26.6497), Y = c(-12.3782, -12.3711, -12.3635), Time = c(0.01, 
0.02, 0.03), Timemin = c(0.000166666666666667, 0.000333333333333333, 
5e-04), Distance = structure(c(NA, 0.0094921019800667, 0.0101316336293823
), Size = 2L, Diag = FALSE, Upper = FALSE, method = "euclidean", call = dist(x = matrix(c(26.6564, 
    -12.3711, 26.6627, -12.3782), nrow = 2, byrow = TRUE)), class = "dist"), 
    Velocity = c(NA, 0.94921019800667, 1.01316336293823), Acceleration = c(NA, 
    NA, 6.39531649315564), AngularVelocity = c(NA_real_, NA_real_, 
    NA_real_)), .Names = c("Quarter", "Name", "Sample", "Position", 
"X", "Y", "Time", "Timemin", "Distance", "Velocity", "Acceleration", 
"AngularVelocity"), class = c("data.table", "data.frame"), row.names = c(NA, 
-3L))

这似乎可能是我犯的一个愚蠢的错误,但我一直无法解决它。我哪里错了?!

0 个答案:

没有答案