R 将列转换为数据帧列表上的系数
我试图将数据帧列表中的几列转换为因子。 我尝试过这个方法,但它似乎无法将列转换为因子:R 将列转换为数据帧列表上的系数,r,list,dataframe,lapply,r-factor,R,List,Dataframe,Lapply,R Factor,我试图将数据帧列表中的几列转换为因子。 我尝试过这个方法,但它似乎无法将列转换为因子: factor_cols_REx <- c('GESLACHT','GEVKL','BEROEP') for (i in (1:9)) { dataset_RE10_2014[[i]] <- lapply(dataset_RE10_2014[[i]][factor_cols_REx],factor) dataset_RE10_2015[[i]] <- lapply(dataset_RE
factor_cols_REx <- c('GESLACHT','GEVKL','BEROEP')
for (i in (1:9)) {
dataset_RE10_2014[[i]] <- lapply(dataset_RE10_2014[[i]][factor_cols_REx],factor)
dataset_RE10_2015[[i]] <- lapply(dataset_RE10_2015[[i]][factor_cols_REx],factor)
}
factor\u cols\u REx我们需要在的左侧和右侧有相同的子集,如果我理解正确,请告诉我
#DATA
dat = list(A = mtcars, B = mtcars)
#Columns we want to convert to factor
factor_cols = c("mpg", "hp")
#Go through the list using lapply and change specific columns to factor in each sub-group
#Modified from https://stackoverflow.com/a/33180265/7128934
dat2 = lapply(dat, function(x){
x[factor_cols] = lapply(x[factor_cols], factor)
x
})
#Check class in output list
lapply(dat2, function(x) sapply(x, class))
#$A
# mpg cyl disp hp drat wt qsec vs am gear carb
# "factor" "numeric" "numeric" "factor" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric"
#$B
# mpg cyl disp hp drat wt qsec vs am gear carb
# "factor" "numeric" "numeric" "factor" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric"
#Check class in input list
lapply(dat, function(x) sapply(x, class))
#$A
# mpg cyl disp hp drat wt qsec vs am gear carb
#"numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric"
#$B
# mpg cyl disp hp drat wt qsec vs am gear carb
#"numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric"
使用dplyr
和purrr
library(dplyr)
library(purrr)
factor_cols_REx <- c('GESLACHT','GEVKL','BEROEP')
dataset_RE10_2014 <- map(dataset_RE10_2014, ~mutate_at(.x, factor_cols_REx, factor))
dataset_RE10_2015 <- map(dataset_RE10_2015, ~mutate_at(.x, factor_cols_REx, factor))
库(dplyr)
图书馆(purrr)
你能更准确地解释一下吗?谢谢你的解决方案,它们都有效!
library(dplyr)
library(purrr)
factor_cols_REx <- c('GESLACHT','GEVKL','BEROEP')
dataset_RE10_2014 <- map(dataset_RE10_2014, ~mutate_at(.x, factor_cols_REx, factor))
dataset_RE10_2015 <- map(dataset_RE10_2015, ~mutate_at(.x, factor_cols_REx, factor))