изменение фрейма данных с символьного на числовой - PullRequest
0 голосов
/ 05 апреля 2019

У меня большой фрейм данных с именами столбцов и строк.По какой-то причине числа в кадре данных отображаются в виде символов, когда я проверяю с помощью приведенной ниже функции sapply.Я попытался изменить на числовой, как показано ниже, но это меняет фрейм данных - удаляет имена из строк и больше не является фреймом данных.Я не могу перечислить столбцы, которые нужно изменить вручную, как> 100 столбцов и имена идентификаторов генов ensembl в качестве имен столбцов и DE1 и т. Д. В качестве имен строк.Фрейм данных - это образцы.Пример данных выглядит следующим образом:

     EN00000345    EN00000456    EN00000067
DE1   1.47           7.2          -1.23
DR16  3.4            6.5           0.2
C20   2.7            8.7           7.8 
DR12  4.5            3.2           12.1 
`````````
sapply(samples, mode)

fwrite(samples, "some.name.temp")
  samples<- fread("some.name.temp", colClasses = "numeric")


also tried

samples <- lapply(samples, function(x) as.numeric(as.character(x)))

возвращаемые данные больше не являются фреймом данных и выглядят так:

    EN00000345    EN00000456    EN00000067
1     1.47           7.2          -1.23
2     3.4            6.5          0.2
3     2.7            8.7          7.8

1 Ответ

1 голос
/ 05 апреля 2019

Вы можете попробовать использовать этот код (df = имя вашего фрейма данных):

for(j in 1:ncol(df)){
  df[,j]=as.numeric(df[,j])
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...