R: суррогат для выбора имен в столбце тиббла - PullRequest
0 голосов
/ 16 июня 2020

Вопрос в том, как использовать столбец на тибле для выделения всей строки. В приведенном ниже коде показано, что я обычно делаю, используя функции basi c R для индексации строк, которые я хочу исключить из dataMet фрейма данных. Мне было интересно, могу ли я использовать функции tidyverse на тибле, чтобы получить те же результаты. Спасибо!

outL <- c("S11", "S156", "S302")
index <- match(outL, rownames(dataMet))

# Print Outliers
outL
dataMet[index,]

# Remove Outliers
dataMet <- dataMet[-index,]

EDIT: чтобы уточнить, я хочу провести эту операцию без использования rownames. Вместо этого я хочу разбить данные в соответствии с совпадениями между вектором и столбцом.

1 Ответ

0 голосов
/ 16 июня 2020

Дополнительные параметры

library(dplyr)


mydata <- data.frame(col1 = letters[1:10],
           col2 = 1:10)

slice(mydata, c(1, 3, 5))
#>   col1 col2
#> 1    a    1
#> 2    c    3
#> 3    e    5

slice(mydata, c(-1, -3, -5))
#>   col1 col2
#> 1    b    2
#> 2    d    4
#> 3    f    6
#> 4    g    7
#> 5    h    8
#> 6    i    9
#> 7    j   10

mydata$rownumber <- 1:nrow(mydata)

mydata$crownumber <- as.character(1:nrow(mydata))
str(mydata)

#> 'data.frame':    10 obs. of  4 variables:
#>  $ col1      : chr  "a" "b" "c" "d" ...
#>  $ col2      : int  1 2 3 4 5 6 7 8 9 10
#>  $ rownumber : int  1 2 3 4 5 6 7 8 9 10
#>  $ crownumber: chr  "1" "2" "3" "4" ...

myvector <- c(1, 2, 5)
mycvector <- c("6", "4", "8")

mydata %>% filter(col2 %in% myvector)
#>   col1 col2 rownumber crownumber
#> 1    a    1         1          1
#> 2    b    2         2          2
#> 3    e    5         5          5

mydata %>% filter(col2 %in% mycvector)
#>   col1 col2 rownumber crownumber
#> 1    d    4         4          4
#> 2    f    6         6          6
#> 3    h    8         8          8
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...