0
单个列我有我从csv文件填充如下(数据样本仅)的数据帧:lapply在数据帧
> csv_data <- read.csv('test.csv')
> csv_data
gender country income
1 1 20 10000
2 2 20 12000
3 2 23 3000
我想转换国家对因子。然而,当我这样做时,它失败:
> csv_data[,2] <- lapply(csv_data[,2], factor)
Warning message:
In `[<-.data.frame`(`*tmp*`, , 2, value = list(1L, 1L, 1L)) :
provided 3 variables to replace 1 variables
但是,如果我转换性别和国家因素,它成功:
> csv_data[,1:2] <- lapply(csv_data[,1:2], factor)
> is.factor(csv_data[,1])
[1] TRUE
> is.factor(csv_data[,2])
[1] TRUE
有什么我做错了吗?我想使用lapply,因为我想以编程方式将列转换为因子,并且可能需要转换的列数只有1(也可能更多,这个数字是从参数驱动到函数的)。任何方式,我只能用lapply做到这一点?