将数据从字符转换为数字

时间:2014-10-23 00:07:12

标签: r performance loops sapply

我需要将数据框中的每个值从char转换为numeric。 我写道:

y[,2:ncol(y)]<-sapply(y[,2:ncol(y)], as.numeric)

但由于表格很大(20000列乘3000行)需要花费大量时间。 有没有办法更有效地做到这一点?感谢

1 个答案:

答案 0 :(得分:0)

使用dplyr

如果all已被定义为角色:

y2 <- mutate_all(y, funs(as.numeric))

否则先将它们转换为字符

y2 <- mutate_all(y, function(x) as.numeric(as.character(x)))

(你可以通过给出相同的名称&#34; y&#34;而不是&#34; y2&#34;来覆盖数据框架。)