R-在控制台中打印记录,如PSQL
有没有一种方法可以从R控制台中的表打印一条记录,看起来像启用了\x的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
-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)
}
}
垂直打印功能