【问题标题】:Import CSV and plotting ECDF导入 CSV 并绘制 ECDF
【发布时间】:2018-03-10 06:06:18
【问题描述】:

我是 R 新手,在如何使用经验累积分布函数时遇到了一些麻烦。

我有一个包含 100k 值(从 excel 导出)的 CSV 文件,我正在像这样导入它:

MyData <- read.csv(file="test.csv", header=TRUE, sep=",")

这似乎没问题,但我一输入就马上

P = ecdf(MyData)

我得到错误:

Error in `[.data.frame`(x, order(x, na.last = na.last, decreasing = decreasing)) : 
  undefined columns selected

我注意到MyData[1] 输出了我所有的值并尝试了 P = ecdf(MyData[1]) 但是我得到了同样的错误。

我四处搜索,似乎在很多情况下都会弹出错误,所以我真的找不到确切的问题是什么,任何帮助都会很好,因为我对此非常陌生。

【问题讨论】:

  • 也许你应该这样做 ecdf(MyData[, 1])ecdf(MyData[[1]])
  • @JilberUrbina 这行得通,谢谢,但逗号是什么意思?是不是类似于二维数组?
  • 阅读help file for "["让你了解如何在[中使用逗号。

标签: r


【解决方案1】:

您应该使用ecdf(MyData[, 1])ecdf(MyData[[1]]),因为ecdf 需要一个数字向量作为输入。当您使用MyData[1] 时,R 将打印所有值,但它是一个数据框,而不是一个向量。

ecdf 帮助文件中您可以看到x,ecdf 的输入应该是一个数字向量。

【讨论】:

    【解决方案2】:

    至少从我对ecdf 的阅读来看,输入是一个向量。因此,您需要通过指定列从数据框中传递一个向量。您可以通过 P &lt;- ecdf(MyData$col1)(其中 col1 是该因子的名称)或以数字方式执行此操作:P &lt;- ecdf(MyData[,1],它将数据子集到第 1 列的所有行。

    【讨论】:

      猜你喜欢
      • 2011-03-13
      • 2020-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-17
      • 1970-01-01
      • 2021-11-17
      • 2021-01-07
      相关资源
      最近更新 更多