R:在 tibble 列上选择行名的代理
R: Surrogate for selecting rownames on a tibble column
问题是如何将小标题上的列用于 select 整行。下面的代码显示了我通常使用基本 R 函数对要从数据框 dataMet 中删除的行进行索引的操作。我想知道我是否可以在 tibble 上使用 tidyverse 函数来获得相同的结果。
谢谢!
outL <- c("S11", "S156", "S302")
index <- match(outL, rownames(dataMet))
# Print Outliers
outL
dataMet[index,]
# Remove Outliers
dataMet <- dataMet[-index,]
编辑:澄清一下,我想在不使用行名的情况下执行此操作。相反,我想根据向量和列之间的匹配对数据进行子集化。
更多选项
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
问题是如何将小标题上的列用于 select 整行。下面的代码显示了我通常使用基本 R 函数对要从数据框 dataMet 中删除的行进行索引的操作。我想知道我是否可以在 tibble 上使用 tidyverse 函数来获得相同的结果。 谢谢!
outL <- c("S11", "S156", "S302")
index <- match(outL, rownames(dataMet))
# Print Outliers
outL
dataMet[index,]
# Remove Outliers
dataMet <- dataMet[-index,]
编辑:澄清一下,我想在不使用行名的情况下执行此操作。相反,我想根据向量和列之间的匹配对数据进行子集化。
更多选项
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