用头打印标签和变量名称

问题描述 投票:2回答:1

我试图在R中使用类似head命令的东西,但也包括输出到控制台的变量标签。

到目前为止,我已经使用data.frames和tibbles测试了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()查看,但我只是想知道是否还有一种方法可以在控制台中看到它们。谢谢!

Edit:

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

r
1个回答
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)  
}

Edit:

有日期的问题所以包括额外的日期位

© www.soinside.com 2019 - 2024. All rights reserved.