导入CSV并绘制ECDF

时间:2018-03-09 21:55:31

标签: r

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

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

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])但是我得到同样的错误。

我已经四处搜索了,似乎错误在很多场景中突然出现,所以我无法找到确切的问题,任何帮助都会很好,因为我非常新对此。

2 个答案:

答案 0 :(得分:1)

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

ecdf帮助文件中,您可以读取x,ecdf的输入应为数字向量。

答案 1 :(得分:1)

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