R语言如何将tapply计算的区域均值变量添加为dataframe新列
错误原因
tapply返回的esperanza.media是长度为10的命名向量(对应9个统计区域+最后一行的NA分组),而你的state.df.abb总共有51行,二者长度不匹配,直接cbind自然无法运行。
解决方法
通过match函数将数据框每行的Division值和esperanza.media的命名做匹配,取出对应区域的平均预期寿命赋值到新列即可:
state.df.abb$Division.esperanza.media <- esperanza.media[match(state.df.abb$Division, names(esperanza.media))]
执行上述代码后,新列就会按照每行所属的区域自动匹配对应的平均预期寿命,和你给出的示例输出效果完全一致。
内容的提问来源于stack exchange,提问作者Abel Pérez
相关产品推荐
相关产品推荐

