如何只选择列的整数值

时间:2016-09-29 04:33:21

标签: r

我的数据有许多具有不同名称的列,并希望仅在列name_id中查看所有数值,并将这些值存储在z中。 我希望z只应包含name_iddata的数值,如果列中有任何字母,则不应将其存储在z中。

z <- unique(data$name_id)
z
#[1] 10 11 12 13 14 3  4  5  6  7  8  9 
#Levels: 10 11 12 13 14 3 4 5 6 7 8 9 a b c d e f

当我尝试这个时

z <-  unique(as.numeric(data$name_id))
z
# [1]  1  2  3  4  5  6  7  8  9 10 11 12

输出包含的值仅为12,但列的值也大于12

1 个答案:

答案 0 :(得分:0)

将您的数据框视为

> b
 [1] "1"    "2"    "3"    "4"    "5"    "13"   "14"   "15"   "45"   "567"  "999"  "Name" "Age" 

申请:

regexp <- "[[:digit:]]+"
> z <- str_extract(b , regexp)
z[is.na(z)] <- ""

> z
 [1] "1"   "2"   "3"   "4"   "5"   "13"  "14"  "15"  "45"  "567" "999" ""    ""   

希望这有帮助。