有没有办法从R控制台中的表中打印记录,看起来像PSQL并启用了\ x?意思是在垂直方向打印它?
这样的事情:
-Record1-
Var1 | xxx
Var2 | yyy
Var3 | zzz
答案 0 :(得分:1)
kable
的 knitr
会对您有所帮助!
> 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 | | | |
>
答案 1 :(得分:0)
如果您使用gather
包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)
}
}
console
当TRUE
立即打印到控制台(危险/无意义,如果有许多记录)。 FALSE
只返回字符串,然后可以将其导出到文本文件中。