首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >加入列表,然后制作方块

加入列表,然后制作方块
EN

Stack Overflow用户
提问于 2011-10-12 06:01:37
回答 2查看 2.7K关注 0票数 1

假设我有两份名单:

代码语言:javascript
运行
复制
temp<-c("con.sin.results","sin.results","exp.results")
Temp<-c("[,1:16]","[,17:32]","[,33:48]","[,49:64]")

temp中的每个变量包含1000个观测值和64个变量。我想要做的是创建一个双循环,这样我就可以根据样本大小创建盒子图(这样每个盒图就会有16个盒子,按温度计算),也就是说,我会得到盒图(con.sin.results,1:16),然后盒图(con.sin.results,17:32)等等。

考虑到这个目标,我得出了以下几点:

代码语言:javascript
运行
复制
for (l in temp){
for (L in Temp){
windows()
par(mfrow=c(2,2))
A<-noquote(paste(noquote(l),noquote(L),sep=""))
boxplot(A)
}
}

不幸的是,这对我来说是个错误:

(D)+x天花板(D)中的

错误:二进制运算符的非数值参数

我哪里出问题了?我该调整什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-12 08:43:14

如果我正确理解你的问题,这或多或少就是你想要的:

代码语言:javascript
运行
复制
bplotforone<-function(mat, groups=list(1:16, 17:32, 33:48, 49:64), newwin=TRUE, mfrow=c(2,2))
{
    nr<-nrow(mat)
    if(newwin) windows()
    par(mfrow=mfrow)
    for(curgroup in groups)
    {
        newres<-as.vector(mat[,curgroup])
        newres<-data.frame(vals=newres, grp=rep(seq_along(curgroup), each=nr))
        boxplot(vals~grp, data=newres)
    }
}

con.sin.results2<-matrix(runif(10*64), ncol=64) #generated some test data here
bplotforone(con.sin.results2)

现在,您可以轻松地执行以下操作:

代码语言:javascript
运行
复制
listOfResults<-list(con.sin.results,sin.results,exp.results) #note: no quotes!!
for(curres in listOfResults) bplotforone(curres)
票数 2
EN

Stack Overflow用户

发布于 2011-10-12 22:49:51

这就是我的上司想出的:

代码语言:javascript
运行
复制
temp<-c("con.sin.results","sin.results","exp.results")
N<-c(50,100,250,500)
con.sin.results<-matrix(runif(100*64),100,64)
sin.results<-matrix(runif(100*64),100,64)
exp.results<-matrix(runif(100*64),100,64)

for (I in temp){
  windows()
  par(mfrow=c(2,2))
  for (n in N){
    if (n==50) eval(parse(text=paste("boxplot(",I,"[,1:16])",sep=""))) 
    if (n==100) eval(parse(text=paste("boxplot(",I,"[,17:32])",sep=""))) 
    if (n==250) eval(parse(text=paste("boxplot(",I,"[,33:48])",sep=""))) 
    if (n==500) eval(parse(text=paste("boxplot(",I,"[,49:64])",sep="")))
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7735904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档