楼主: mumianke
7622 3

请教:循环中的rbind调用 [推广有奖]

  • 0关注
  • 0粉丝

高中生

52%

还不是VIP/贵宾

-

威望
0
论坛币
1080 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1114 点
帖子
26
精华
0
在线时间
25 小时
注册时间
2007-3-20
最后登录
2018-7-1

楼主
mumianke 发表于 2008-5-21 20:48:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
想批量做卡方检验。
test.txt如下:
45   24   55   76
85   52   15   48
12   41   88   59
45   14   55   86
78   25   22   75
...
...
想将每行四个数提取出来chisq.test
第三列和第四列分别是100与第一列和第二例的差。


test<-read.table(file='test.txt')
for (i in 1:nrow(test)) {
a<-test[i,1:2]
b<-test[i,3:4]
e<-rbind(a,b)
dim(e)<-c(2,2)
rersult<-chisq.test(e,correct=F)$p.value
}

出现错误:
Error in match.names(clabs, names(xi)) > : names do not match previous names

请问:如何将a和b组合进行卡方分析?
谢谢。

二维码

扫码加我 拉你入群

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

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

关键词:rbind bind bin IND chisq 请教 rbind

沙发
eveningbmu 发表于 2008-5-22 09:41:00

刚试了下,以下这段程序是可以运行的。和楼主不同之处在于:在循环前增加了对result的定义,即result<-c()

test<-matrix(c(45,24, 55,76,
85,52,15,48,
12,41,88,59),byrow=T,nrow=3)

result<-c()

for (i in 1:nrow(test)) {
a<-test[i,1:2]
b<-test[i,3:4]
e<-rbind(a,b)
dim(e)<-c(2,2)
result<-chisq.test(e,correct=F)$p.value
}

藤椅
mumianke 发表于 2008-5-23 12:32:00

谢谢。

这样也可以。

test<-read.table(file='test.txt')
test<-as.data.frame(test)
result<-numeric()
for (i in 1:nrow(test)) {
  result<-chisq.test(matrix(unlist(test[i,]),ncol=2,byrow=T),correct=F)$p.value
  }

板凳
AthenaUchiha 发表于 2015-3-19 10:15:45
谢谢楼主分享

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-5 18:50