在子集设置后保留dataframe列标签

在子集设置后保留dataframe列标签,r,dplyr,R,Dplyr,希望在那些奇怪的时刻一切都好 我正在使用dataframe,数据是使用read.SPSS函数从SPSS文件加载的 在原始数据框中,我有列名和标签 当我基于第一个dataframe创建一个新的dataframe,其中包含一些我需要子集的列时,标签会消失 这是我用于子集设置的内容: test <- dataset %>% dplyr::select(GLOBAL_ID) test%dplyr::select(全局\u ID) 我怎样才能确保保留它们 谢谢你的反馈 您可以使用sjlab

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

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

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

当我基于第一个dataframe创建一个新的dataframe,其中包含一些我需要子集的列时,标签会消失

这是我用于子集设置的内容:

test <- dataset %>% dplyr::select(GLOBAL_ID)
test%dplyr::select(全局\u ID)
我怎样才能确保保留它们


谢谢你的反馈

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

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)
库(带标签)
数据(efc)

efc.sub你能提供
dput(head(dataset))
?@RonakShah会喜欢的,但是当我在33956变量上这样做时,R变得疯狂了……当我使用
?have::read_sas
帮助页面中的示例时,我无法重现这一点。使用
dplyr::select
,标签仍然完好无损。可能您有不同类型的数据。@RonakShah这确实很有效,但在加载文件时,read_sas函数会弄乱列中的值,例如,将“是/否”转换为1和2,您有任何选项来保持正常吗?