【发布时间】:2016-01-23 21:48:56
【问题描述】:
嗨,集体脑力。这是交易 - 我有一个看起来像这样的数据框:
>df
Mom MomAge
aa 1
aa 3
aa 4
bb 2
bb 4
cc 1
cc 3
cc 5
每一行都是XX妈妈XX岁时所生的孩子。我想为 1 到 5 岁的每个妈妈填充一个新的数据框,将现有数据编码为二进制响应(1 = 妈妈 X 岁时出生的孩子,0 = 妈妈 X 岁时没有孩子):
1 2 3 4 5
aa 1 0 1 1 0
bb 0 1 0 1 0
cc 1 0 1 0 1
到目前为止,我有这个:
>momlist<-unique(df$Mom)
>M<-matrix(data = NA, nrow = length(Mom), ncol=5)
>M<-data.frame(M)
>rownames(M) <-momlist
>colnames(M) <-c(1:5)
>M
1 2 3 4 5
aa NA NA NA NA NA
bb NA NA NA NA NA
cc NA NA NA NA NA
不确定如何填充 M...也许是 if/then 然后是 for 循环?提前谢谢了!
【问题讨论】:
-
如果要将其转换为数据框:
as.data.frame.matrix(table(df))