我有一个载体,其中包含所测分子的各自分子类别内的分子频率。我还有一个载体,其中包含通过变量选择鉴定的重要分子的每类频率。如何将这两个向量合并到一个数据帧中并用0(用R)填充空频率?
这是一个可行的例子:
full = rep(letters[1:4], 4:7)
fullTable = table(full)
sub = rep(letters[1:2], c(2, 4))
subTable = table(sub)
我希望桌子看起来像:
print(data.frame(Letter=letters[1:4], fullFreq=c(4, 5, 6, 7), subFreq=c(2, 4, 0, 0)))
答案 0 :(得分:0)
试试这个(我猜你在最后一行意味着subTable=table(sub)
):
res<-merge(as.data.frame(fullTable),as.data.frame(subTable),by.x=1,by.y=1,all=TRUE)
colnames(res)<-c("Letter","fullFreq","subFreq")
res[is.na(res)]<-0
答案 1 :(得分:0)
使用库dplyr
library(dplyr)
full=rep(letters[1:4], 4:7)
sub=rep(letters[1:2], c(2,4))
df <- data.frame(Letter=unique(c(full, sub)))
df <- df %>%
left_join(as.data.frame(table(full)), by=c("Letter"="full")) %>%
left_join(as.data.frame(table(sub)), by=c("Letter"="sub"))
df[is.na(df)] <- 0
df