根据不同行和不同列中的值将值保留在一行中

时间:2019-04-22 07:00:06

标签: r dplyr

仅当tdif上方的行中的NP==0时,有没有办法为 Subject tdif NP 1 KM3 63.8 0 2 KM3 4.6 1 3 KM3 70.6 0 4 KM3 30.4 1 5 KM3 44.8 0 6 KM3 12.1 1 7 KM3 27.1 1 8 KM3 36.0 0 9 KM3 38.0 1 10 KM3 0.1 1 中的值创建新的DF?

    Subject tdif NP
1       KM3  4.6  1
2       KM3 30.4  1
3       KM3 12.1  1
4       KM3 38.0  1

因此,所需的输出将是:

tidyverse

我很高兴使用Error: First argument to verifyIdToken() must be a Firebase ID token string. at FirebaseAuthError.Error (native) at FirebaseAuthError.FirebaseError [as constructor] (/user_code/node_modules/firebase-a 或任何其他程序包(到目前为止,我已经使用它来处理我的原始数据),但是对于这种特定类型的到目前为止,R中的数据操作。

1 个答案:

答案 0 :(得分:0)

我们可以使用which来获取行索引NP == 0,并将其加1以获得下一行。

df[which(df$NP == 0) + 1, ]

#  Subject tdif NP
#2     KM3  4.6  1
#4     KM3 30.4  1
#6     KM3 12.1  1
#9     KM3 38.0  1

如果最后一行的数字为0,则可能还会为您提供NA的另一行,您可以通过将值与nrow(df)进行比较或使用dplyr::lag将其删除。


使用dplyr lag

library(dplyr)
df %>% filter(lag(NP) == 0)