l <- c("a","b","c")
m是一个 5x2 的数据框。C1是1:5,C2是a:e:
m <- data.frame(C1 = 1:5, C2 = letters[1:5], stringsAsFactors = FALSE)
我想找到n,它只包含那些行m中m$C2所述的值中的行l
结果n是 3x2 使得 C2 是a:c,即
C1 C2
1 1 a
2 2 b
3 3 c
l <- c("a","b","c")
m是一个 5x2 的数据框。C1是1:5,C2是a:e:
m <- data.frame(C1 = 1:5, C2 = letters[1:5], stringsAsFactors = FALSE)
我想找到n,它只包含那些行m中m$C2所述的值中的行l
结果n是 3x2 使得 C2 是a:c,即
C1 C2
1 1 a
2 2 b
3 3 c
一种选择是手动进行匹配%in%:
m <- data.frame(C1 = 1:5, C2 = letters[1:5], stringsAsFactors = FALSE)
l <- c("a","b","c")
with(m, m[C2 %in% l, ])
R> with(m, m[C2 %in% l, ])
C1 C2
1 1 a
2 2 b
3 3 c
或者通过以下match()功能:
R> m[with(m, match(C2, l, nomatch = FALSE)), ]
C1 C2
1 1 a
2 2 b
3 3 c
其中nomatch需要参数来摆脱NA行。