Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何仅选择列的整数值_R - Fatal编程技术网

R 如何仅选择列的整数值

R 如何仅选择列的整数值,r,R,“我的数据”有许多名称不同的列,希望只在列名_id中查看所有数值,并将这些值存储在z中。 我希望z应该只包含数据列名称的数值,如果列中有任何字母,那么它不应该存储在z中 当我尝试这个的时候 z <- unique(as.numeric(data$name_id)) z # [1] 1 2 3 4 5 6 7 8 9 10 11 12 输出仅包含12之前的值,但列的值也大于12 > b [1] "1" "2" "3" "4" "5"

“我的数据”有许多名称不同的列,希望只在列名_id中查看所有数值,并将这些值存储在z中。 我希望z应该只包含数据列名称的数值,如果列中有任何字母,那么它不应该存储在z中

当我尝试这个的时候

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

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

> 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" ""    ""   

希望这有帮助。

@Dave2e列既有整型数据类型,也有字符类型,我只想选择整数值并将这些整数值存储在z中。您需要as.numericas.characterit将只存储0到9之间的值。大于9的值如何?请查看编辑后的答案。想以简单的方式执行。请再次查看编辑后的问题。您可以对所有值获得相同的结果,即使值大于12或任何其他数字。试试看。
regexp <- "[[:digit:]]+"
> z <- str_extract(b , regexp)
z[is.na(z)] <- ""

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