繁体   English   中英

选择仅包含特定列中的数字的data.frame行

[英]Select rows of a data.frame that contain only numbers in a certain column

如何仅选择列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

你可以使用grep

df[grep("[[:digit:]]", df$b), ]
#  a  b
#1 1  4
#2 5 -2
#3 3  1
#4 1  0
#6 6  2

这应该更快(它不使用正则表达式)

df[!is.na(as.numeric(df$b)), ]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM