简化当前代码实现相同功能

问题描述

我有一个这样的代码,但我试图简化它以实现相同的功能

set.seed(12345);
data0 = data.frame(ID=1:20,SARS=sample(c(0,1),size=20,replace=T,prob=c(0.9,0.1))) #20 people are connected randomly by 30% chance (57).
ID1ID2 = NULL 
for(i in 1:19) {
  temp = i*100 + (i+1):20
  ID1ID2 = c(ID1ID2,temp)
  print(i)
}
length(ID1ID2)
set.seed(12345)
ties = sample(ID1ID2,size=57,replace=F)

data1 = data.frame(ID1 = floor(ties/100),ID2 = ties-floor(ties/100)*100)
data2 = data.frame(ID1 = ties-floor(ties/100)*100,ID2 = floor(ties/100))
data3 = rbind(data1,data2)
data4 = merge(data3,data0,all.x=T,all.y=F,by.x="ID2",by.y="ID")
data0$SARS_fr = NA 
for(i in 1:20) {
  data0[data0$ID==i,"SARS_fr"] = ifelse(sum(data4[data4$ID1==i,"SARS"])>=1,yes = 1,no = 0)
print(i) }

有没有大神帮忙看看如何用一段5-10行的代码实现上面的代码功能?谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)