矩阵上的下标数量不正确,用于从R中的矩阵获取绘图

时间:2016-05-11 13:55:10

标签: r string matrix plot

我有一组数据,带有自己的元数据。我得到一些列来列出给定数据集中的所有数据。

然后我使用这个循环将它存储在一个矩阵中(我尝试了一个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,将它打印在报告中。

1 个答案:

答案 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),]