R-在控制台中打印记录,例如PSQL



有没有一种方法可以从r启用 x的psql中从r console中的表中打印一个记录?意思是在垂直方向上打印它?

类似的东西:

-Record1-
Var1 | xxx
Var2 | yyy
Var3 | zzz

knitrkable将帮助您!

> df1
  E     F         G         H
1 A 0.9,1                    
2 B       0.98,0.34 0.98,0.34
3 C                          
> knitr::kable(df1)

|E  |F     |G         |H         |
|:--|:-----|:---------|:---------|
|A  |0.9,1 |          |          |
|B  |      |0.98,0.34 |0.98,0.34 |
|C  |      |          |          |
> 

如果使用tidyr软件包gather数据集,则基本上将以该格式存储。

如果原件看起来像..

        Var1  Var2  Var3   
Record1 xxx   yyy   xxx

收集的数据集看起来像...

Record1 Var1 xxx
Record1 Var2 yyy
Record1 Var3 zzz

,或者甚至使用str(YourData[x,])仅需快速检查单个记录而无需重组数据集就足够了。

或,如果您在示例中设置了样式,则此功能是一种(粗糙的)方法:

vertical_print_function <- function(data_vert,console=T){
psql <- character()
for(i in 1:nrow(data_vert)){
  psql <- append(psql,paste0("nn-Record ",i,"-"))
  colnames_s <- colnames(data_vert)
  var_names <- colnames_s %>% stringr::str_pad(width=max(nchar(.)))
    for(x in 1:ncol(data_vert)){
      psql <- append(psql,paste0("n",var_names[x],"  |  ",data_vert[i,colnames_s[x]]))
  }
} 
if (console==T) {
  cat(psql)
  } else {
    return(psql)
  }
}

console作为TRUE立即打印到控制台(如果有很多记录,危险/毫无意义)。FALSE只是返回字符串,然后可以导出到文本文件。

相关内容

最新更新