【发布时间】:2017-12-03 23:10:25
【问题描述】:
我有一个这样的数据框:
df<- data.frame(date= c(rep("10-29-16", 3), rep("11-14-16", 2),
"12-29-16","10-2-17","9-2-17"),
loc= c(rep("A", 3), rep("B", 2),"A","PlotA","PlotB"),
obs_network= c(rep("NA", 3), rep("NA", 2),"NA","PlotA","PlotB"))
对于obs_network,即NA,我想为每个独特的date 和loc 组合命名。我希望为唯一组分配一个唯一编号和此命名方案的前缀“pseudoplot”。所以输出看起来像这样:
output<- data.frame(date= c(rep("10-29-16", 3), rep("11-14-16", 2),
"12-29-16","10-2-17","9-2-17"),
loc= c(rep("A", 3), rep("B", 2),"A","PlotA","PlotB"),
obs_network= c(rep("pseudoplot_1", 3),rep("pseudoplot_2", 2),"pseudoplot_3","PlotA","PlotB"))
我尝试了以下操作但没有成功,我无法识别我的错误。使用所有级别下方的代码读取“pseudoplot1”。如果有人解释了为什么我的代码除了提供解决方案之外无法正常工作,我将不胜感激。
output<-
df %>%
group_by(date, loc)%>%
mutate(obs_network=ifelse(is.na(obs_network),
paste0("pseudoplot", "_", match(loc, unique (loc))),
obs_network))
【问题讨论】: