在R中将列表从字符转换为数字的简单方法?

时间:2017-07-05 07:34:31

标签: arrays r dataframe

我已经在研究这个问题的其他线程,但找不到一个简单的解决方案。我从Excel表中导入了数据,并将它们加入到列表中,这些列表通常如下所示:

> Hemo
[[1]]
V1 V2 V3 V4  V5  V6  V7
1 0d 3d 6d 9d 12d 15d 18d
2 10 40 20 60  50  30  40
3 20 30 30 30  30  30  30
4 20 20 30 20  40  20  50

[[2]]
V1 V2 V3 V4  V5  V6  V7
1 0d 3d 6d 9d 12d 15d 18d
2  0 10 10  0   0   0   0
3  0 10 20 20  20   0   0
4  0  0 10 20  20   0   0

但是我希望它们看起来像这样(这是一个数组):

, , 1

0d 3d 6d 9d 12d 15d 18d
V2 10 40 20 60  50  30  40
V3 20 30 30 30  30  30  30
V4 20 20 30 20  40  20  50

, , 2

0d 3d 6d 9d 12d 15d 18d
V2  0 10 10  0   0   0   0
V3  0 10 20 20  20   0   0
V4  0  0 10 20  20   0   0

在第一种情况下,所有元素都是字符,我无法将它们强加给数字。最后,我想将第一个列表转换为第二个数组,其中第一个导入的行作为列名称。必须有一些包启用这个?因为我是新手,请让我们找一个简单的解决方法。谢谢

1 个答案:

答案 0 :(得分:1)

好像从excel导入了数据,但是列名被解释为数据。您没有指定用于导入的函数,但是大多数函数都可以指定第一行数据是列名。

library(readxl)
data <- read_excel(filename, col_names = TRUE)

正确导入数据时,它不会混淆实际数据,应自动将其作为数字读取。这样你就不必亲自转换它。