1
假设我有矩阵D,它由每年特定年龄的死亡人数组成。如何在没有循环的情况下向data.frame添加多个值?
我想填充此矩阵与适当的死亡计数存储在 向量年龄,但下面的代码给了我错误的答案。我应该如何编写代码而不进行循环?
# Year and age grid for tables
Years=c(2007:2017)
Ages=c(60:70)
#Data.frame of deaths
D=data.frame(matrix(ncol=length(Years),nrow=length(Ages))); D[is.na(D)]=0
colnames(D)=Years
rownames(D)=Ages
Age=c(60,61,62,65,65,65,68,69,60)
year=2010
D[as.character(Age),as.character(year)]<-
D[as.character(Age),as.character(year)]+1
D[,'2010'] # 1 1 1 0 0 1 0 0 1 1 0
# Should be 2 1 1 0 0 3 0 0 1 1 0
该解决方案work's这个问题。但我需要的解决方案,可以积累以前的表柱。 –
@Sattel那么,您如何获得前几年存储的数据?请提供使我们能够回应您的实际问题的数据。 – G5W
假设我有这样的代码行,我的数据是。每次通话都有多个年龄的重复。但代码不会累积它。数据:https://drive.google.com/open?id=0BxtjNizJ0NDlWmdsb3NRVzhDUm8 PY [as.character(died.after.bd $ Age),as.character(year)] =(as.numeric(((died.after .bd $ Deathdied.after.bd $ bd ) /365.25))+ PY [as.character(died.after. $ Age),as.character(year)]) –