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

R-在控制台中打印记录,如PSQL,r,R,有没有一种方法可以从R控制台中的表打印一条记录,看起来像启用了\x的PSQL?意思是在垂直方向上打印 大概是这样的: -Record1- Var1 | xxx Var2 | yyy Var3 | zzz 来自knitr的kable将帮助您 > df1 E F G H 1 A 0.9,1 2 B 0.98,0.34 0.98,0.34 3 C

有没有一种方法可以从R控制台中的表打印一条记录,看起来像启用了\x的PSQL?意思是在垂直方向上打印

大概是这样的:

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

来自
knitr
kable
将帮助您

> 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
收集
数据集,它基本上将以该格式存储

如果原件看起来像

        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("\n\n-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)
  }
}
垂直打印功能