我有一组数据,带有自己的元数据。我得到一些列来列出给定数据集中的所有数据。
然后我使用这个循环将它存储在一个矩阵中(我尝试了一个data.frame和一个列表,但也没有工作)。条目是字符串。
#############
ii_c <- metadades$item_id[metadades$tipus_item == "comentari"]
g_c <- metadades$grup[metadades$tipus_item == "comentari"]
i_c <- metadades$item[metadades$tipus_item == "comentari"]
in_c <- data_ent[, ii_c]
c_l <- list()
for(i in 1:ncol(in_c)){
c_l[[i]] <- in_c[,i][!is.na(in_c[,i])]
}
j <- 0
l <- 0
c_cl <- matrix(ncol=3)
for(i in 1:ncol(in_c)){
if(mode(c_l[[i]])=="numeric"){
j=j+1
} else {
for(k in 1:length(c_l[i])){
c_cl[i-j+l,] = c(g_c[i],i_c[i],c_l[i][k])
l=l+1
}
}
}
df_cl <- as.data.frame(c_cl)
#############
之后我可以绘制它。尽管如此,我还是试图列出(而不是制作一个矩阵)所有的数据帧,以后我可以将它们绑定(但它也给了我错误)。
下一步是做一个tableGrob和一个grid.draw,将它打印在报告中。
答案 0 :(得分:0)
得到了我的同事的解决方案,
df_comentaris <- data.frame(grup=NA, item=NA, comentari =NA)
for (i in metadades$item_id[metadades$tipus_item=='comentari']) {
comentaris <- dades[!is.na(dades[i]),i]
grup <- metadades$grup[metadades$item_id == i]
item <- metadades$item[metadades$item_id == i]
df_aux <- data.frame(grup=rep(grup,length(comentaris)), item=rep(item,length(comentaris)), comentari=comentaris)
df_comentaris <- rbind(df_comentaris, df_aux)
}
df_comentaris <- df_comentaris[2:nrow(df_comentaris),]