【发布时间】:2020-10-21 08:06:10
【问题描述】:
我尝试像代码中的那样合并两个 data.frames。主要问题是我有几行具有相同的 ID,但我想将所有值(相位)与 df1 中的 ID 合并。 我试图搜索类似的问题,但找不到任何问题。
df1<-as.data.frame(c("a","a","a","a","a","c","c","c","b","b"))
colnames(df1)<-c("ID")
df2<-data.frame(c("a","a","a","a","a","b","b"),c(1,1,0,0,1,1,-1))
colnames(df2)<-c("ID","phase")
output<-cbind(c("a","a","a","a","a","c","c","c","b","b"),c(1,1,0,0,1,NA,NA,NA,1,-1))
我尝试使用 merge() 但它导致的 data.frame 比预期的输出大得多。此外,我还丢失了应该与“c”合并的 NA。
merge_out<-merge(df1,df2[,c("ID","phase")],by="ID")
ID phase
a 1
a 1
a 0
a 0
a 1
a 1
a 1
a 0
a 0
a 1
a 1
a 1
a 0
a 0
a 1
a 1
a 1
a 0
a 0
a 1
a 1
a 1
a 0
a 0
a 1
b 1
b -1
b 1
b -1
有什么想法吗?谢谢!
【问题讨论】: