全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
5112 5
2010-06-25
x    y
1 20.5 20.7
2 19.8 19.8
3 20.4 19.5
4 20.1 20.8
5 20.0 20.4
6 19.0 19.6
7 19.9 20.2
8 19.7  
这是excel数据
复制到剪贴板,采用> mydata<-read.dlim("clipboard")读入mydata

> mydata<-read.delim("clipboard")
> mydata
     x    y
1 20.5 20.7
2 19.8 19.8
3 20.4 19.5
4 20.1 20.8
5 20.0 20.4
6 19.0 19.6
7 19.9 20.2
8 19.7   NA
进行t检验可以
> t.test(mydata[1],mydata[2],var.equal=TRUE)
        Two Sample t-test
data:  mydata[1] and mydata[2]
t = -0.8548, df = 13, p-value = 0.4081
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-0.7684249  0.3327106
sample estimates:
mean of x mean of y
19.92500  20.14286
但是进行方差分析,就不可以了。
> var.test(mydata[1],mydata[2])
Error in var.test.default(mydata[1], mydata[2]) :
  not enough 'x' observations
是为什么?
但是如果采用这样的方式输入

> xx<-c(20.5,19.8,20.4,20.1,20,19,19.9,19.7)
> yy<-c(20.7,19.8,19.5,20.8,20.4,19.6,20.2)
> var.test(xx,yy)
        F test to compare two variances
data:  xx and yy
F = 0.7932, num df = 7, denom df = 6, p-value = 0.7608
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.1392675 4.0600387
sample estimates:
ratio of variances
         0.7931937
就可以运行
这说明和read.delim()命令获得数据格式有关系,但是用excel整理数据太普遍了,这个问题,如何解决?请朋友指点。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-6-26 00:26:01
你用数据框的时候进行方差检验是有空值(NA),而你改用赋值之后没有空值的,看问题是不是出在这儿?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-6-26 10:29:04
xx<-c(20.5,19.8,20.4,20.1,20,19,19.9,19.7)
yy<-c(20.7,19.8,19.5,20.8,20.4,19.6,20.2, NA)
mydata<-data.frame(xx,yy)
t.test(mydata[1],mydata[2],var.equal=TRUE)
var.test(mydata$xx,mydata$yy)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-6-26 12:16:25
十分感谢“楚韵荆风”,但是问题不是出在这里
我给补上一个数据
     x    y
1 20.5 20.7
2 19.8 19.8
3 20.4 19.5
4 20.1 20.8
5 20.0 20.4
6 19.0 19.6
7 19.9 20.2
8 19.7 19.8

> mydata<-read.delim("clipboard")
> mydata
     x    y
1 20.5 20.7
2 19.8 19.8
3 20.4 19.5
4 20.1 20.8
5 20.0 20.4
6 19.0 19.6
7 19.9 20.2
8 19.7 19.8
> var.test(mydata[1],mydata[2])
Error in var.test.default(mydata[1], mydata[2]) :
  not enough 'x' observations
仍然不能进行方差分析,

> xx<-mydata[1]
> yy<-mydata[2]
> var.test(xx,yy)
Error in var.test.default(xx, yy) : not enough 'x' observations
赋值产生新变量,仍然不能解决这个问题,

但是采用“miragew”的命令,
> var.test(mydata$x,mydata$y)

        F test to compare two variances

data:  mydata$x and mydata$y
F = 0.8707, num df = 7, denom df = 7, p-value = 0.8597
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.1743154 4.3490158
sample estimates:
ratio of variances
         0.8706897
就可以

这个mydata[1]和mydata$x到底是什么差别?谢谢,愿意积分感谢,聊表谢意。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-6-26 13:25:06
4# miaomiaolong

mydata[1]的类型仍然和mydata的类型相同,都为数据框格式,有属性名称。而mydata$x的类型是数值型,就相当一个向量,没有行名和列名,他显示的就是里面的数据类型。然而,var.test(x,y)中的x和y必须是数值型向量或者被拟合的线性模型的对象。所以你用var.test(mydata[1],mydata[2])就会出错。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-6-27 00:03:30
5# 楚韵荆风
十分感谢回答。
以后多多指导。我是初学者。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群