R 在此数据表中发生x个事件后,如何消除一系列事件?
我有一个data.frame,它给出了不同模拟中每个x和y坐标的事件发生时间。我已使用dput()将此表的标题附加到下面R 在此数据表中发生x个事件后,如何消除一系列事件?,r,reshape2,R,Reshape2,我有一个data.frame,它给出了不同模拟中每个x和y坐标的事件发生时间。我已使用dput()将此表的标题附加到下面 head\u data这就是您要寻找的: library(tidyr) data_clust_10_cut %>% pivot_wider(names_from="sim", values_from="infected") # # A tibble: 8 x 7 # time `simulation 1` `simulat
head\u data这就是您要寻找的:
library(tidyr)
data_clust_10_cut %>% pivot_wider(names_from="sim", values_from="infected")
# # A tibble: 8 x 7
# time `simulation 1` `simulation 2` `simulation 3` `simulation 4`
# <dbl> <int> <int> <int> <int>
# 1 100 0 0 0 0
# 2 200 0 0 0 0
# 3 400 1 0 0 0
# 4 600 NA 0 0 0
# 5 800 NA 0 0 1
# 6 900 NA 0 NA NA
# 7 1000 NA 0 NA NA
# 8 1100 NA 0 NA NA
# # … with 2 more variables: `simulation 5` <int>, `simulation 6` <int>
#
library(tidyr)
数据\u clust\u 10\u cut%>%pivot\u加宽(name\u from=“sim”,value\u from=“infected”)
##A tibble:8 x 7
#时间`模拟1``模拟2``模拟3``模拟4`
#
# 1 100 0 0 0 0
# 2 200 0 0 0 0
# 3 400 1 0 0 0
#4600Na0
#5800NA 01
#6900NA 0NA
#7 1000纳0纳
#81100纳0纳
##…还有两个变量:`simulation 5`、`simulation 6`
#
data_long <- melt(head_data, id.vars = c('x', 'y', 'id'), value.name = 'time', variable.name = 'sim')
times <- sort(unique(data_long$time))
data_clust_10 <- data_long %>% group_by(sim) %>%
do(data.frame(time=times, infected=sapply(times, function(x) sum(.$time <= x))))
data_clust_10_cut<-filter(data_clust_10, infected < 2)
library(tidyr)
data_clust_10_cut %>% pivot_wider(names_from="sim", values_from="infected")
# # A tibble: 8 x 7
# time `simulation 1` `simulation 2` `simulation 3` `simulation 4`
# <dbl> <int> <int> <int> <int>
# 1 100 0 0 0 0
# 2 200 0 0 0 0
# 3 400 1 0 0 0
# 4 600 NA 0 0 0
# 5 800 NA 0 0 1
# 6 900 NA 0 NA NA
# 7 1000 NA 0 NA NA
# 8 1100 NA 0 NA NA
# # … with 2 more variables: `simulation 5` <int>, `simulation 6` <int>
#