如何仅选择 b 列中包含数字的行。
a <- c(1,5,3,1,-8,6,-1)
b <- c(4,-2,1,0,"c",2,"DX")
df <- data.frame(a,b)
df
# a b
# 1 1 4
# 2 5 -2
# 3 3 1
# 4 1 0
# 5 -8 c
# 6 6 2
# 7 -1 DX
输出应如下所示:
# a b
# 1 1 4
# 2 5 -2
# 3 3 1
# 4 1 0
# 5 6 2
答案 0 :(得分:3)
您可以使用grep
:
df[grep("[[:digit:]]", df$b), ]
# a b
#1 1 4
#2 5 -2
#3 3 1
#4 1 0
#6 6 2
答案 1 :(得分:3)
这应该更快(它不使用正则表达式)
df[!is.na(as.numeric(df$b)), ]