带头打印标签和变量名

时间:2019-01-07 02:43:31

标签: r

我正在尝试在R中使用类似head命令的方法,但还要在控制台输出中包含变量标签。

到目前为止,我已经用data.frame和tibble对head()dplyr::slice()进行了测试,但是没有显示标签和列名的选项。

有人知道这是否可能吗?

我正在尝试得到这样的东西:

# A tibble: 3 x 21
SiteSeq   SiteName  SiteCode  SubjectSeq   SubjectId    EventSeq 
<Site No> <Name>    <Code>    <Patient No> <Patient ID> <Event No> 
2         Peter M~   PMC       1           PMC-001      1        
2         Peter M~   PMC       1           PMC-001      1        
2         Peter M~   PMC       1           PMC-001      1 

<>中的内容是列标签。

我知道可以使用View()查看标签,但是我只是想知道是否还有一种方法可以在控制台中查看它们。谢谢!

编辑:

在读取数据后,所有变量都使用Hmisc::label()命令标记。例如label(data$variable1) <- "label1"

1 个答案:

答案 0 :(得分:1)

感谢@MRau的建议,这是一个简单的功能,在控制台中查看时,该功能将打印标签以及变量名:

lhead <- function(df, n=7){  

  is.Date <- function(x){
    ifelse(inherits(x, c("POSIXt", "POSIXct", "Date")), TRUE, FALSE)
  }

  df2 <- df
  df2[sapply(df2, is.factor)] <- lapply(df2[sapply(df2, is.factor)], as.character)
  df2[sapply(df2, is.Date)] <- lapply(df2[sapply(df2, is.Date)], as.character)
  tmp <- rbind(label(df), df2)
  head(tmp, n)  
}

编辑:

发生日期问题,因此包含额外的日期位