【发布时间】:2015-06-04 13:02:27
【问题描述】:
我已将一组数据作为 .csv 文件中的数据框导入 R。原来,我有一个错误信息如下:
> data<-read.csv("D:/research/PhD 2014/Data/anaesthesia trials/anaesthesia times.csv", header=TRUE)
> str(data)
'data.frame': 80 obs. of 10 variables:
$ chemical: Factor w/ 2 levels "aquis","benzocaine": 1 1 1 1 1 1 1 1 1 1 ...
$ Fish : int 1 2 3 4 5 6 7 8 9 10 ...
$ Dose : int 10 10 10 10 10 10 10 10 10 10 ...
$ X1 : int 442 0 0 0 0 0 0 0 0 0 ...
$ X2 : int 600 0 0 0 0 0 0 0 0 0 ...
$ X3a : int 885 0 0 0 0 0 0 0 0 0 ...
$ X3b : int 0 0 0 0 0 0 0 0 0 0 ...
$ Recovery: int 650 0 0 0 0 0 0 0 0 0 ...
$ wt..g. : num 0.19 0 0 0 0 0 0 0 0 0 ...
$ tl..mm. : int 35 0 0 0 0 0 0 0 0 0 ...
> Mean<-tapply(data$x1,data$Dose, mean)
Error in tapply(data$x1, data$Dose, mean) :
arguments must have same length
> length(data$Dose)
[1] 80
> length(data$x1)
[1] 0
> dim(data$x1)
NULL
我怀疑这是因为缺少值。但是,缺失值本身并不是缺失值,它们是真正的 0。我已经在其他论坛上搜索了错误和“tapply”功能,实际上是从“R 初学者指南”中复制了代码,并用我自己的数据替换了它。
我的另一个问题是,根据 length() 函数,'x1' 的长度为 '0'...
我很困惑,因为我返回并检查了 .csv 文件,尝试将其另存为另一个 .csv 文件,但似乎没有任何变化。我已确保将 .csv 本身中的单元格格式更改为“数字”,这似乎没有帮助。 R 是否因为某种原因无法识别数据?
我可以提供问题的 .csv 文件,只是不确定最好的方法是什么。
【问题讨论】: