Как мне отфильтровать мой набор данных по комбинации значений в двух столбцах в R - PullRequest
0 голосов
/ 30 мая 2018

Я хочу иметь возможность фильтровать мои данные на основе комбинации 2 значений

Key   C1  D2

 D    25  25
 E    10  10
 F    50  0
 G    40  10

Как мне сделать так, чтобы у меня был следующий вывод, потому что я хочу видеть только данные, где c1 + c2is> = 50

Key   C1  D2

 D    25  25
 F    50  0
 G    40  10

Ответы [ 3 ]

0 голосов
/ 30 мая 2018
df1 <- read.table(text = "Key   C1  D2

                  D    25  25
                  E    10  10
                  F    50  0
                  G    40  10", header = TRUE)



df1[df1$C1 + df1$D2 >=50, ]

Это дает следующий вывод.Помните, что в R все векторизованные операции, поэтому условия дают вектор истинных значений, как вам нужно.

  Key C1 D2
1   D 25 25
3   F 50  0
4   G 40 10
0 голосов
/ 30 мая 2018

Подход dplyr:

library(dplyr)

df %>% 
   filter(C1 + D2 >= 50)

#  Key C1 D2
#1   D 25 25
#2   F 50  0
#3   G 40 10
0 голосов
/ 30 мая 2018
df <- read.table(text="Key   C1  D2
 D    25  25
 E    10  10
 F    50  0
 G    40  10",h=T,strin=F)

df[df$C1 + df$D2 >=50,] # or subset(df, C1 + D2 >=50)
#   Key C1 D2
# 1   D 25 25
# 3   F 50  0
# 4   G 40 10
...