2016-06-20 2 views
-3

Как раз сейчас я узнал, что могу использовать опцию «с» для указания столбцов, но я до сих пор не понимаю, почему следующая функция не работает.не удается применить функцию as.factor к нескольким столбцам в R

> wealth_valid[,c(1,3:6)]<-lapply(wealth_valid[,c(1,3:6)], as.factor) 
> str(wealth_valid) 

Classes ‘data.table’ and 'data.frame': 257751 obs. of 7 variables: 
$ Marital : chr "1" "1" "1" "1" ... 
$ Age  : int 53 63 36 42 60 59 62 46 54 50 ... 
$ Gender : chr "3" "3" "3" "3" ... 
$ Income : chr "4" "4" "4" "4" ... 
$ HMV  : chr "5" "5" "5" "5" ... 
$ Owner : chr "6" "6" "6" "6" ... 
$ Networth: chr "E" "G" "C" "F" ... 
- attr(*, ".internal.selfref")=<externalptr> 
+3

Это буквально самая первая запись в ** data.table ** [FAQ] (http://datatable.r-forge.r-project.org/datatable-faq.pdf). Я предлагаю вам прочитать этот документ. – joran

+0

Попробуйте 'wealth_valid [, 7, with = F]' –

+1

Thx! Он работает для выбора определенного столбца. Но я до сих пор не понимаю, как это происходит. Кажется, что здесь не работает – lotone

ответ

0

Я думаю, что я понял, reason.I читать данные с «Fread» поэтому он данные не dataframe формат, после того, как я преобразовал его, он работает как lapply и wealth_valid [7]