r之plyr::ddply 错误消息:类(输出[[var]])-类(值)中的错误:尝试在 NULL 上设置属性

zengkefu 阅读:86 2025-01-19 22:14:33 评论:0

这在不到一个月前就奏效了。有什么改变吗? (添加了简单示例):

adk47样本

PeakName Elevation 
Marcy      5344 
Marcy      5344 
Marcy      5344 
Marcy      5344 
Marcy      5344 
Marcy      5344 
Marcy      5344 
Algonquin      5114 
Algonquin      5114 
Algonquin      5114 
 
> require(plyr) 
Loading required package: plyr 
> adk.need.fr.round.6 <- ddply(adk47sample, .(PeakName, Elevation), 
+   summarize, needThese=if(length(PeakName) < 6) "needThis") 
 
Error in class(output[[var]]) <- class(value) :  
  attempt to set an attribute on NULL 

对于这个简单的例子,我期望:

> adk.need.fr.round.6 
      PeakName     Elevation needThese 
1     Algonquin      5114     needThis 

请您参考如下方法:

它适用于 plyr 1.8 版,如果我按照@joran 的建议给出 elsecharacter(0) 结果(使用 else NULL 它给出了同样的错误):

adk.need.fr.round.6 <- ddply(adk47sample,  
.(PeakName, Elevation),summarize,  
  needThese=if(length(PeakName) < 6) "needThis" else character(0)) 


标签:程序员
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号