将数据框从字符更改为数字

时间:2019-04-05 07:21:14

标签: r

我有一个包含名称列和行的大型数据框。由于某些原因,当我使用以下sapply函数进行检查时,数据框中的数字被列为字符。我试图更改为数字,如下所示,但它更改了数据框-从行中删除名称,并且不再是数据框。我无法列出要手动更改为> 100列的列,而无法将基因ID名称集成为列名称,而将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 个答案:

答案 0 :(得分:1)

您可以尝试使用以下代码(df =数据框的名称):

for(j in 1:ncol(df)){
  df[,j]=as.numeric(df[,j])
}