首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据帧循环R

数据帧循环R
EN

Stack Overflow用户
提问于 2015-12-17 00:04:03
回答 1查看 115关注 0票数 0

我有136个数据帧,每个帧有多个长度和两个变量:compl001compl136。到目前为止,我一直在尝试在它们之间循环,但没有成功。实际上,我正在尝试在每个数据框中进行比较。有一个设置为"Há“或"Não Há”的值。我面临的主要问题是,当我使用粘贴在data.frames之间查看时,它被理解为我的环境中的一个角色,而不是以前的data.frame。

大概是这样的:

代码语言:javascript
复制
Min1     Min2
Há       Há
Não Há   Há
Não Há   Não Há

我的目标是选择通过所有长度的compl1传递,如果为compl001$Min1 = compl001$Min2,则协议计数器增加1。

代码语言:javascript
复制
concc = 0
discc = 0

for (i in 1:136){
        ##Chosing the Min1 and Min2 names (it changes between data.frames but here it reveals NULL because understand paste as character)
    assign('parsel' ,colnames<-(paste0("compl00", i))) 

    for (j in 1:length(paste0("compl00", i))){

      if ((assign("a",(paste0("compl00",i,'$',parsel[1],'[',j,']'))))==(assign('b',paste0("compl00",i,'$',parsel[2],'[',j+1,']'))))
      {concc = concc + 1}
     else
       {discc = discc + 1}
    }
}
EN

回答 1

Stack Overflow用户

发布于 2015-12-17 00:29:27

因此,我根据您所描述的内容创建了一个数据帧列表来模拟您的数据。

代码语言:javascript
复制
dfs<-lapply(seq(1,136), 
        function(x) data.frame(Min1=sample(c("Ha", "Nao Ha"), replace = TRUE,size = 50), 
                                  Min2=sample(c("Ha", "Nao Ha"),replace = TRUE,size = 50)))

然后可以使用lapply循环结果,并使用table()快速制表,以获得一致的结果。我们将1,1和2,2单元格相加。

代码语言:javascript
复制
results<-lapply(dfs, function(x) {
                tmp<-table(x)
                sum(tmp[1,1], tmp[2,2])
                })

希望这能有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34316683

复制
相关文章

相似问题

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