【问题标题】:Keeping dataframe column labels after subsetting子集后保留数据框列标签
【发布时间】:2020-11-05 11:11:05
【问题描述】:

希望在那些奇怪的时期一切都好。

我正在使用数据框,数据是使用 read.spss 函数从 SPSS 文件加载的。

在原始数据框中,我有列名和标签。

当我基于第一个数据框创建一个新的数据框时,我将其中的一些列作为子集,标签就会消失。

这是我用于子集的:

test <- dataset %>% dplyr::select(GLOBAL_ID)

我怎样才能确保保留它们?

感谢您的反馈!

【问题讨论】:

  • 你能提供dput(head(dataset))吗?
  • @RonakShah 会喜欢的,但是当我对 33956 个变量执行此操作时,R 会发疯...
  • 当我使用来自?haven::read_sas 帮助页面的示例时,我无法重现这一点。带有dplyr::select 的标签仍然完好无损。也许你有不同类型的数据。
  • @RonakShah 确实这很好用,但是在加载文件时,read_sas 函数会混淆列中的值,例如将是/否转换为 1 和 2,你有什么选择吗保持正常?

标签: r dplyr


【解决方案1】:

您可以使用sjlabelled 将标签复制回例如

library(sjlabelled)
data(efc)
efc.sub <- subset(efc, subset = e16sex == 1, select = c(4:8))
#labels removed

#copy labels back in
efc.sub <- copy_labels(efc.sub, efc)

这是解释here

【讨论】:

    猜你喜欢
    • 2019-09-06
    • 2013-12-23
    • 2019-07-09
    • 2020-03-13
    • 1970-01-01
    • 1970-01-01
    • 2017-03-10
    • 2020-02-13
    • 1970-01-01
    相关资源
    最近更新 更多