【发布时间】:2021-12-03 06:50:12
【问题描述】:
对 R 非常陌生,可以使用一些指导、帮助或解决方案!
我的实际数据集很大,所以我有这个包含两列的示例数据集,如下所示:
plot<- c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3)
ID<- c("S","S","S","C","T","S","SP","T", "C", "T","S","SP","T","S","C")
dat<- data.frame(plot,ID)
我正在尝试随机删除每个图的一个条目,计算每个 ID 的频率,随机删除每个图的另一个条目,计算频率并继续重复。
到目前为止,在一些帮助下,我能够使用以下方法从每个图中随机删除一个条目
dat %>%
group_by(plot) %>%
sample_n(n() - 1) %>%
ungroup()
我可以用它来计算每个 ID 的频率
dat %>%
group_by(ID) %>%
summarise(n = n()) %>%
mutate(freq = n / sum(n))
我需要能够冲洗并重复这两个功能,并每次查看结果。这个数据集只有 15 个变量,但我的实际数据集要大得多,所以不断写出 100 次以上似乎效率低下。
是否可以同时循环或重新运行这两个函数并在每次 x 次时产生输出?例如,对于我提供的样本数据,总共可能是 4 次。我尝试了“for”循环,但我无法让它工作(很可能是我的用户错误)
感谢您的帮助!
【问题讨论】:
标签: r function loops tidyverse frequency