尝试使用循环在数据集中查找唯一变量并使用 sapply 应用某个函数
Trying to use loop to find unique variables in a dataset and use sapply to apply a certain function
我正在尝试使用循环在 NHANES
数据集中查找唯一变量,并使用 sapply
将函数 nhanes_uniq
应用于 NHANES
库。我不断收到错误消息,这是代码:
library(NHANES)
nhanes_uniq <- vector("integer", ncol(NHANES))
names(nhanes_uniq) <- names(NHANES)
for (i in names(NHANES)) {
nhanes_uniq[i] <- n_distinct(NHANES[[i]])
}
sapply(NHANES[,ind], nhanes_uniq)
这里是错误:
Error in get(as.character(FUN), mode = "function", envir = envir) : object 'nhanes_uniq' of mode 'function' was not found
这可能会解决您的问题
names(NHANES)[sapply(NHANES, is.factor)]
sapply(NHANES, is.factor)
获取作为因子的列的逻辑向量。将其用作子集以获取因子变量的名称。
这里有一个选项dplyr
library(dplyr)
NHANES %>%
select(where(is.factor)) %>%
names
我正在尝试使用循环在 NHANES
数据集中查找唯一变量,并使用 sapply
将函数 nhanes_uniq
应用于 NHANES
库。我不断收到错误消息,这是代码:
library(NHANES)
nhanes_uniq <- vector("integer", ncol(NHANES))
names(nhanes_uniq) <- names(NHANES)
for (i in names(NHANES)) {
nhanes_uniq[i] <- n_distinct(NHANES[[i]])
}
sapply(NHANES[,ind], nhanes_uniq)
这里是错误:
Error in get(as.character(FUN), mode = "function", envir = envir) : object 'nhanes_uniq' of mode 'function' was not found
这可能会解决您的问题
names(NHANES)[sapply(NHANES, is.factor)]
sapply(NHANES, is.factor)
获取作为因子的列的逻辑向量。将其用作子集以获取因子变量的名称。
这里有一个选项dplyr
library(dplyr)
NHANES %>%
select(where(is.factor)) %>%
names