我有136个数据帧,每个帧有多个长度和两个变量:compl001到compl136。到目前为止,我一直在尝试在它们之间循环,但没有成功。实际上,我正在尝试在每个数据框中进行比较。有一个设置为"Há“或"Não Há”的值。我面临的主要问题是,当我使用粘贴在data.frames之间查看时,它被理解为我的环境中的一个角色,而不是以前的data.frame。
大概是这样的:
Min1 Min2
Há Há
Não Há Há
Não Há Não Há我的目标是选择通过所有长度的compl1传递,如果为compl001$Min1 = compl001$Min2,则协议计数器增加1。
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}
}
}发布于 2015-12-17 00:29:27
因此,我根据您所描述的内容创建了一个数据帧列表来模拟您的数据。
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单元格相加。
results<-lapply(dfs, function(x) {
tmp<-table(x)
sum(tmp[1,1], tmp[2,2])
})希望这能有所帮助。
https://stackoverflow.com/questions/34316683
复制相似问题