繁体   English   中英

如何检查列表的所有元素是否是 r 中的整数?

[英]how can i check if all the elements of list are integers in r?

假设我有这个列表:

List_example <- list('short'= 10,'medium'= 20,'long'=200)

如何检查是否可以检查一个 go 中的 short、medium 和 long 是否是整数?

试试下面的代码

> all(sapply(List_example, `%%`, 1) == 0)
[1] TRUE

sapply

List_example <- list('short'= 10,'medium'= 20,'long'=200)
all(sapply(List_example, is.numeric))
#[1] TRUE

要检查整数,专门使用is.integer

如果 object 有一个 R integer 类型,那么很明显它是一个整数,或者如果它有一个 double 类型,那么我们可以检查它是否等于自己四舍五入。

is_int <- function(x) is.integer(x) || (is.numeric(x) && identical(round(x), x))
all(sapply(List_example, is_int))
## [1] TRUE

L <- list(3, 5L, "xyz")
all(sapply(L, is_int))
## [1] FALSE

如果您的意思是您想知道它们是否都具有 R integer 类型,那么我们有以下内容,因为示例中的数字都是双精度数。

all(sapply(List_example, is.integer))
## [1] FALSE

暂无
暂无

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

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