有没有一种方法可以从r启用 x的psql中从r console中的表中打印一个记录?意思是在垂直方向上打印它?
类似的东西:
-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
软件包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
只是返回字符串,然后可以导出到文本文件。