如何解决合并数据集后,我丢失了变量的标签有什么办法可以将它们从原始数据集中取回吗?
我正在使用R
,原始数据集在RStudio
环境中可用。
合并数据集后,我丢失了变量的标签。有什么办法让他们回来吗?
我看到了这个link,但还不能解决我的问题。
df<-read.table(text="No. addr x num
1 a 1 1
2 b NA 2
3 c 4 3
4 d 5 4
5 e 5 10
6 e 2 100
7 f 7 7
8 f 1 200
9 g NA 500 ",sep="",header=T)
var.labels <- c(No. = "Serial number",addr = "Addeded response",x="Events",num="Number of particles")
attr(df,"variable.labels") <- var.labels
df1<-read.table(text="No. addr x num
1 a 1 1
2 b NA 2
10 h 7 7
11 i 1 200",header=T)
var<-intersect(names(df),names(df1));var
df1<-merge(x = df,y = df1,by = var,all=T);df3
df1<-read.table(text="No. addr x num
1 a 1 1
2 b NA 2
3 c 4 3
4 d 5 4
5 e 5 10
6 e 2 100
7 f 7 7
8 f 1 200
9 g NA 500
10 h 7 7
11 i 1 200",header=T)
我没有attr(df,"variable.labels") <- var.labels
这行,但我仅将其放在此处作为代表。
任何建议将不胜感激。
解决方法
我们可以使用merge
中的full_join
代替dplyr
,这样可以使attributes
保持不变
library(dplyr)
df3 <- full_join(df,df1,by = var)
str(df3)
#'data.frame': 11 obs. of 4 variables:
# $ No. : int 1 2 3 4 5 6 7 8 9 10 ...
# $ addr: chr "a" "b" "c" "d" ...
# $ x : int 1 NA 4 5 5 2 7 1 NA 7 ...
# $ num : int 1 2 3 4 10 100 7 200 500 7 ...
# - attr(*,"variable.labels")= Named chr [1:4] "Serial number" "Addeded response" #"Events" "Number of particles"
# ..- attr(*,"names")= chr [1:4] "No." "addr" "x" "num"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。