R合并数据/扩展数据集
我试图用R扩展我的数据集。我记录了每个样本的观察值,并根据这些观察值计算了百分比。现在我需要展开每个样本,列出每个可能的观测值,而不做任何计算。myData的示例: 起始数据集:R合并数据/扩展数据集,r,merge,expand,R,Merge,Expand,我试图用R扩展我的数据集。我记录了每个样本的观察值,并根据这些观察值计算了百分比。现在我需要展开每个样本,列出每个可能的观测值,而不做任何计算。myData的示例: 起始数据集: Sample Observation Percent A Y 50 A N 50 B Y 10 B N 80 B Don't
Sample Observation Percent
A Y 50
A N 50
B Y 10
B N 80
B Don't know 10
Sample Observation Percent
A Y 50
A N 50
A Don't know NA
B Y 10
B N 80
B Don't know 10
所需数据集:
Sample Observation Percent
A Y 50
A N 50
B Y 10
B N 80
B Don't know 10
Sample Observation Percent
A Y 50
A N 50
A Don't know NA
B Y 10
B N 80
B Don't know 10
所以在本例中,我需要扩展所有样本A,以包括“不知道”类别,并用“NA”填充
我试过了
myTable <- table(myData)
TableFrame2 <- data.frame(myTable)
myTable一种方法是将组合合并/连接回数据中。(我稍微修改了数据,以便于复制/粘贴到此处。)
Tidyverse:
library(dplyr)
library(tidyr)
dat %>%
full_join(
crossing(Sample = unique(dat$Sample), Observation = unique(dat$Observation)),
by = c("Sample", "Observation")
)
# Sample Observation Percent
# 1 A Y 50
# 2 A N 50
# 3 B Y 10
# 4 B N 80
# 5 B Don_t_know 10
# 6 A Don_t_know NA
甚至
dat %>%
full_join(expand(., Sample, Observation))
# Joining, by = c("Sample", "Observation")
# Sample Observation Percent
# 1 A Y 50
# 2 A N 50
# 3 B Y 10
# 4 B N 80
# 5 B Don_t_know 10
# 6 A Don_t_know NA