使用带有空格的列名打印data.frame
我的数据框如下所示:使用带有空格的列名打印data.frame,r,R,我的数据框如下所示: sum <- data.frame( "default LS" = rnorm(3), "fit LS" = rnorm(3), "gradient dMNLL/dLS" = rnorm(3) ) 我不介意代码,但出于演示的目的,我想用空格打印它 有没有办法用空格打印data.frame 有没有办法用自定义列名打印data.frame?sum 1-0.7607631-0.6488190-2.1846567 > 2 1.3633617 -0
sum <- data.frame(
"default LS" = rnorm(3),
"fit LS" = rnorm(3),
"gradient dMNLL/dLS" = rnorm(3)
)
我不介意代码,但出于演示的目的,我想用空格打印它
有没有办法用空格打印data.frame
有没有办法用自定义列名打印data.frame?sum 1-0.7607631-0.6488190-2.1846567
> 2 1.3633617 -0.1891804 1.0127126
> 3 0.1476440 0.6775571 -0.7808632
总和[[默认值LS]]
> [1] -0.7607631 1.3633617 0.1476440
要选择特定的列,请输入列名或`,您还可以使用tidyverse包中的tibble对象
library(tibble)
data <- tibble("Variable with space"=letters)
data
尽管直接打印时变量名周围有记号,但对于其他打印情况(如绘图或表格)它不会留下。将@Roland提到的解决方案也作为答案发布给其他人: 创建data.frame时使用check.names=FALSE:
就在打印之前。您可以在创建data.frame时使用check.names=FALSE。这只会使使用这个data.frame变得麻烦,因为您需要像sum$fit LS这样的语法。谢谢@Roland,我不知道这个选项!请随意将其作为答案发布!具有讽刺意味的是,鉴于几乎所有tidyverse包都假定列名不包含空格,默认情况下它们不会删除空格
library(tibble)
data <- tibble("Variable with space"=letters)
data
sum <- data.frame(
"default LS" = rnorm(3),
"fit LS" = rnorm(3),
"gradient dMNLL/dLS" = rnorm(3),
check.names = FALSE
)
names(sum) <- gsub(".", " ", names(sum), fixed = TRUE)