Select rows of a data.frame that contain only numbers in a certain column
问题 How to select only the rows that contain a number in 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 The output should look like this: # a b # 1 1 4 # 2 5 -2 # 3 3 1 # 4 1 0 # 5 6 2 回答1: You could use grep : df[grep("[[:digit:]]", df$b), ] # a b #1 1 4 #2 5 -2 #3 3 1 #4 1 0 #6 6 2 回答2: This should be faster (it doesn't use regex) df[!is.na(as.numeric(df$b)), ] 来源: https://stackoverflow