2014-01-02 3 views
0

я не могу получить следующую формулу, чтобы заставить выбранные столбцы кадра данных числовогопринуждения столбцов кадра данных в цифровую

x<-read.csv("more.csv",colClasses="character") 

test<-list(more[,10],more[,11],more[,12]) 
test2<-lapply(test,as.numeric) 

Но

is.numeric(more[,10]) 
[1] FALSE 

При использовании следующей формулы он работает:

more[,10]<-as.numeric(more[,10]) 

is.numeric(more[,10]) 
[1] TRUE 

Я не могу разобрать ошибку в первой используемой формуле.

ответ

0

Когда вы используете test2 <- lapply(test, as.numeric), он строит новый список (называемый test2) со всеми элементами, преобразованными в числовые. Это не меняет test, а также не меняет фрейм данных more.

Вы можете преобразовать столбцы 10, 11 и 12 к числовым в кадре данных с чем-то вроде:

more[,10:12] = as.numeric(more[,10:12]) 
Смежные вопросы