gpt4 book ai didi

r - 错误 : (list) object cannot be coerced to type 'double' with multiple variables

转载 作者:行者123 更新时间:2023-12-05 03:59:43 36 4
gpt4 key购买 nike

我有多个变量的数据。我试图将我的数据转换为数字(每个变量)。我试过 as.numeric,但出现错误:

错误:无法强制(列表)对象键入“double”

我也试过as.matrix,没问题。但我仍然需要将我的数据转换为数字。所以,我尝试了 as.numeric(unlist(iris[,1:4])),但这不是我想要的。这是我的尝试:

data("iris")
iris[,1:4]
> is.data.frame(iris[,1:4])
[1] TRUE
> is.numeric(iris[,1:4])
[1] FALSE

这不是我想要的。

> as.numeric(unlist(iris[,1:4]))
[1] 5.1 4.9 4.7 4.6 5.0 5.4 4.6 5.0 4.4 4.9 5.4 4.8 4.8 4.3 5.8 5.7 5.4 5.1 5.7 5.1 5.4 5.1 4.6 5.1 4.8 5.0 5.0 5.2 5.2 4.7
[31] 4.8 5.4 5.2 5.5 4.9 5.0 5.5 4.9 4.4 5.1 5.0 4.5 4.4 5.0 5.1 4.8 5.1 4.6 5.3 5.0 7.0 6.4 6.9 5.5 6.5 5.7 6.3 4.9 6.6 5.2
[61] 5.0 5.9 6.0 6.1 5.6 6.7 5.6 5.8 6.2 5.6 5.9 6.1 6.3 6.1 6.4 6.6 6.8 6.7 6.0 5.7 5.5 5.5 5.8 6.0 5.4 6.0 6.7 6.3 5.6 5.5
[91] 5.5 6.1 5.8 5.0 5.6 5.7 5.7 6.2 5.1 5.7 6.3 5.8 7.1 6.3 6.5 7.6 4.9 7.3 6.7 7.2 6.5 6.4 6.8 5.7 5.8 6.4 6.5 7.7 7.7 6.0

我希望它像这样(没有变量名称):

                [,1]        [,2]        [,3]        [,4]
[1,] 5.1 3.5 1.4 0.2
[2,] 4.9 3.0 1.4 0.2
[3,] 4.7 3.2 1.3 0.2
[4,] 4.6 3.1 1.5 0.2

我需要删除变量的名称并将其作为上面的矩阵。有什么帮助吗?

最佳答案

我们可以做到:

res<-sapply(iris[,-5], as.numeric)
attr(res,"dimnames") <- NULL

或者像@markus 简单地建议的那样:

unname(as.matrix(iris[,1:4]))

结果:

       [,1] [,2] [,3] [,4]
[1,] 5.1 3.5 1.4 0.2
[2,] 4.9 3.0 1.4 0.2
[3,] 4.7 3.2 1.3 0.2
[4,] 4.6 3.1 1.5 0.2

关于r - 错误 : (list) object cannot be coerced to type 'double' with multiple variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56922173/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com