我正在使用包含面板数据的数据框:行是一组学生的多个观察。我想生成一个辅助数据框,其中行是学生,列是摘要统计。最简单的例子是种族和性别等固定特征,我试图通过循环变量来有效地处理它们。代码如下,以及错误消息:
vars1 <- c('sex', 'black', 'latino', 'asian', 'lo_ses', 'logage')
vars2 <- c('dat$sex', 'dat$black', 'dat$latino',
'dat$asian', 'dat$lo_ses', 'dat$logage')
for (k in 1:length(vars1)){
vars1[k] <- tapply(vars2[k], dat$nid, mean)
}
tapply错误(vars2 [k],dat $ nid,mean): 参数必须具有相同的长度
tapply
语法一次只能处理一个变量,显然列表的长度相同,所以我不会收到错误消息。