【问题标题】:Column of original data is returning length as 0 in R原始数据列在 R 中返回长度为 0
【发布时间】:2020-04-11 14:48:52
【问题描述】:

我在 R 工作室工作并尝试创建一个表格。我不断收到的错误是“表中的错误(玩家,fitmod1$classification):所有参数必须具有相同的长度”。当我检查数据的长度时, fitmod1$classification 正在返回一个值;但玩家返回 0。我不知道如何解决这个问题。

Player's 是 R 包 ISLR 中 Hitters 数据的定性列。 fitmod1 是一个 mclust 模型。我在下面附上了我的代码,希望对您有所帮助!谢谢]1

【问题讨论】:

  • 在以后的问题中,请提供带有数据的实际代码以重现问题,而不是提供图片。

标签: r r-markdown


【解决方案1】:

您的问题是玩家是行名,而不是数据的实际列。因此,当您将 Hitter 的数据框设置为子集时:

players <- Hitters[,0]

您最终会得到一个空数据框(尽管这些行仍以您在 RStudio 中查看时所看到的名称命名)。

相反,您想要获取行名并将它们存储为向量:

players <- row.names(Hitters)

您现在可以生成表格了。

这里是所有代码(顺便说一下,如果您在堆栈溢出中使用代码功能而不是附加 png,我们作为一个社区更容易回答您的问题。这样我们可以复制和粘贴您的代码而不必手动输入):

library(ISLR)
library(mclust)

data(Hitters)
Hitters=Hitters[,c(1:7)]
Hitters<-na.omit(Hitters)

players <- row.names(Hitters)
fitmod1<-Mclust(Hitters, G=3, modelNames=c("VEE"))
table(players, fitmod1$classification)

【讨论】:

  • 非常感谢!下次我一定会这样做!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多