全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3531 0
2018-06-21
大佬们求助!R语言编辑统计的时候数据分析过程中出现报错!最后想做出这样的效果 出来的csv文件


代码贴在这:

library("reshape")

library("readr")

data1<-read.table("expb.txt","\t",header= T)

inteval<-100;totaltime<-5000 #设定总观察时间和时间分段

subid<-unique(data1$sub)

data2<-subset(data1,start<totaltime)

for (i in 1:length(subid)) {

  

datatmp<-subset(data2,sub==subid[1])

for(l in 1:length(datatmp[,1])){

if(datatmp[l,"end"]>=totaltime)

   datatmp[l,"end"]<-totaltime-1

}

dataYN<-data.frame(Subject=NA,Item=NA,Condition=NA,Fixseq=NA,area1=NA,area2=NA,area3=NA,area4=NA,area5=NA)

for(t in 1:48){

datatmptmp<-subset(datatmp,trialid==t)

dataY<-data.frame(subject=NA,item=NA,condition=NA,fixseq=NA,area1=NA,area2=NA,area3=NA,area4=NA,area5=NA)

for(m in 1:max(datatmptmp[,"end"]))

{dataY[m,c(1,2,3,4)]<-c(datatmptmp[1,c("sub","trialid","cond")],as.integer(m/inteval)+1)}

for(k in 1:length(datatmptmp[,1]))

  {

   for(n in datatmptmp[k,"start"]:datatmptmp[k,"end"])

   {dataY[n,4+datatmptmp[k,"stimuli"]]<-as.integer(n>=datatmptmp[k,"start"]&&n<=datatmptmp[k,"end"])}

   

  }

dataY <- aggregate(dataY, by=list(Subject = dataY$subject,Item =dataY$item,Condition = dataY$condition,Fixseq = dataY$fixseq), FUN=sum,na.rm=TRUE)

dataY$item <- dataY$condition <- dataY$subject<-dataY$fixseq<- NULL

dataYN<-rbind(dataYN,dataY)

}

dataYN<-subset(dataYN,!is.na(Subject))

dataYNtmp<-dataYN[,c(5:8)];

dataYNtmp<-log((dataYNtmp+0.5)/(inteval-dataYNtmp+0.5));

#dataYN$datalgd<-dataYNtmp[,2]-dataYNtmp[,4];

dataYN[,c(9:12)]<-dataYNtmp;

write_csv(dataYN,"datalin.csv",append= T)

}

出现报错:Error in sub == subid[1] : 只能比较(1)基元或串列种类



附件列表
111.png

原图尺寸 244.49 KB

最终图

最终图

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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