找回密码
 注册
查看: 12483|回复: 4

求助:在R语言中如何用文件中的一组向量给x赋值!加急!

[复制链接]
发表于 2011-11-22 12:59:51 | 显示全部楼层 |阅读模式
R语言完全新手,格式什么的都不是太明白,之前没接触过,要用rayleigh.test检测一组数据
先读文件(文件是36组3维的向量)

data <- read.table("d.txt")
>  result<-data.frame()

想写个循环,让36组数据依次做reyleigh.test在输出测试结果,有两个一个是statistic一个是p-value
> for(i in 1:36){x<-circular(c(data[i,1],data[i,2],data[i,3]));result[i,1]<-rayleigh.test(x)};write.table (result, file= "1.txt")

试了几个形式,主要是赋值x<-circular(c(data(i)))这块我不知道该怎么把一组三维向量赋值给x,还有就是输出result[i]这我不知道怎么输出结果,勉强输出过,创建的txt文件中也只有statistic的数据,没有p-value

但也是一直报错

真的是第一次接触R语言,弄了两天了,也没太弄明白,主要就想做个这个test,不想再新学一门语言了,各位高手帮帮忙吧
回复

使用道具 举报

发表于 2011-11-22 23:37:31 | 显示全部楼层
能否把数据上传,需要看你数据是什么样子的。你只需要提供一个例子。不然很难知道你哪里有问题
回复 支持 反对

使用道具 举报

发表于 2011-11-22 23:38:32 | 显示全部楼层
最好给一个例子。然后才能解决你的问题。
回复 支持 反对

使用道具 举报

发表于 2011-11-23 00:21:52 | 显示全部楼层
##首先产生一组数据data
data<-matrix(1:9,c(3,3));
data[1,1]<-27;
data[2,2]<-42;
> data
     [,1] [,2] [,3]
[1,]   27    4    7
[2,]    2   42    8
[3,]    3    6    9

result<-data.frame();

for(i in 1:3){
      x<-circular(c(data[i,1],data[i,2],data[i,3]));###这一步也没错
      result[i,1]<-rayleigh.test(x)$statistic;
      result[i,2]<-rayleigh.test(x)$p.value
};
colnames(result)<-c("statistic","p.value")

write.table (result, file= "1.txt")


###对于rayleigh.test(x)的结果。你可以通过
> attributes(rayleigh.test(x))
$names
[1] "statistic" "p.value"   "mu"        "call"     

$class
[1] "rayleigh.test"
###或者
> typeof(rayleigh.test(x))
[1] "list"
###得知是结果属性是list。
> rayleigh.test(x)[1]
$statistic
[1] 0.3266617

> rayleigh.test(x)[2]
$p.value
[1] 0.7595621

###过程说明意义。你会理解的。



回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-24 08:34:50 | 显示全部楼层
genechip 发表于 2011-11-23 00:21
##首先产生一组数据data
data

谢谢版主帮忙,很有用,真的谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-24 13:13 , Processed in 0.046721 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表