corresp()中声明缺少行和列

corresp()中声明缺少行和列,r,R,所以我是R的新手,所以如果我因为无知而犯了明显的错误,请原谅我 我正在尝试进行通信分析。我使用read.CSV()从Excel(通过CSV)导入了数据。然后我使用MASS包中的corresp()。一切正常 然后,我返回CSV文件(从Excel导出)并删除行(我想从分析中排除的样本),然后重复read.CSV()和corresp()步骤,但现在出现以下错误: Error in corresp.matrix(as.matrix(x), ...) : empty row or column in ta

所以我是R的新手,所以如果我因为无知而犯了明显的错误,请原谅我

我正在尝试进行通信分析。我使用
read.CSV()
从Excel(通过CSV)导入了数据。然后我使用MASS包中的
corresp()
。一切正常

然后,我返回CSV文件(从Excel导出)并删除行(我想从分析中排除的样本),然后重复
read.CSV()
corresp()
步骤,但现在出现以下错误:

Error in corresp.matrix(as.matrix(x), ...) : empty row or column in table
In addition: Warning message:
In corresp.matrix(as.matrix(x), ...) :
  negative or non-integer entries in table
“加法”错误不是问题,在使用非整数执行
corresp()
操作时总是弹出。第一行是问题的根源,即声称行/列为空

我已经逐行检查了CSV,绝对没有空的单元格(除了A1-第一个成功的CSV)。事实上,新的CSV(某些行已被删除)与
corresp()
正常工作的文件几乎相同


如果任何人有解释或可以建议一种方法继续,这将是一个巨大的帮助。

为了从原始.csv文件中删除一些行(或示例),您可以在R中轻松地执行此操作,因为您已经阅读了该文件,所以不应该出现任何错误

第一步是读取原始.csv文件:

# set the header TRUE if you have any header in your .csv file.
data = read.csv(file = "", header = TRUE) 
现在假设要删除第3、第5、第10和第20行:

data1 = data[-(c(3, 5, 10, 20)),]
然后,您可以轻松地将data.new数据帧用作新的数据集

您应该注意,为了使用corresp(),数据集中应该有整数列和非负列。与上面的代码类似,您还可以选择数据集的某些列。例如,为了只选择数据集的第3、4和6列(假设这些列是唯一的非负整数),您可以说:

data2 = data[,c(3, 4, 5)]

希望能有所帮助。

很可能您在
read.csv
中过度指定了样本大小,但是:您为什么在Excel中这样做?在R中更容易。例如,从矩阵中删除第5行:
my_mat显然我同意这个答案,因为我评论了相同的:-)嗨,卡尔,似乎我们在同一时间发布…很抱歉,我没有注意到你的评论:(-best结果表明,当某些行被删除时,某些列的总和为零,反之亦然。我对R非常陌生,这项工作做了一些令人沮丧的工作,但最终达到了目的。感谢各位的建议。