我对R不熟悉,在如何使用经验累积分布函数方面,我遇到了一些麻烦。
我有一个CSV文件,其中包含100 k值(从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]),但是遗憾的是,我得到了同样的错误。
我已经搜索过了,似乎错误在很多情况下都会弹出,所以我真的找不到确切的问题,任何帮助都会很好,因为我对此非常陌生。
发布于 2018-03-09 22:05:54
您应该使用ecdf(MyData[, 1])或ecdf(MyData[[1]]),因为ecdf需要一个数字向量作为输入。当您使用MyData[1],R会打印所有的值,但它是一个数据,而不是一个向量。
从ecdf帮助文件中,您可以读取该x,其输入应该是一个数字向量。
发布于 2018-03-09 22:06:18
至少从我对ecdf的阅读来看,输入是一个向量。因此,您需要通过指定列来从dataframe传递一个向量。您可以执行P <- ecdf(MyData$col1) (其中col1是该因子的名称),也可以通过数字方式这样做:将数据细分为第1列的所有行的P <- ecdf(MyData[,1]。
https://stackoverflow.com/questions/49202752
复制相似问题