首页 > 解决方案 > 如何检测是否没有引用向量中的所有元素

问题描述

假设我有这个向量:

vars <- c(1, "2")

由于这两个元素在同一个向量中,因此它们都被强制转换为字符。即使我将它们视为列表中的独立元素,一旦从同一个向量中提取它们,它们的类型也会保留在列表中:

sapply(as.list(vars), class)
[1] "character" "character"

什么函数会发现并非向量vars中的所有元素都是字符类型?也许另一种说法是:什么函数会检测到并非向量上的所有元素vars都被引用?

标签: rrlang

解决方案


与其保留 a vector,不如创建一个每个元素list可以有多个的type

vars <- list(1, "2")
sapply(vars, class)
#[1] "numeric"   "character"

当我们以 a 开头时vector,无法知道哪个元素应该是数字或字符,因为一旦创建的两个元素都是character


推荐阅读