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做到這一點?