2013-03-05 55 views
0

在包装功能使用ddply我有一个比较的问题,就像已经讨论 这里结合: No visible binding for global variable Note in R CMD check视觉为R中

就我而言,我使用的功能ddply在我 自己的包,当我检查在R-包我得到 一张纸条,上面有“不可见的全局变量‘VARx前提’结合

的不客气的代码行是:

subsample <- ddply(my_data, .(VARX), function(x){x[sample(nrow(x), 1), ]}) 

变量VARX是由 程序包(sysdata)提供的数据框中的一列。改进代码 以获得适当的R包的良好做法是什么?

+0

你需要什么,这是不是已经在你链接的问题? – 2013-03-05 10:50:44

+0

我不清楚这两种提到的方法也是ddply的最佳实践。也许也有在节目中使用ddply的一个更好的办法... – Johannes 2013-03-05 10:54:29

+1

只要使用'“VARx前提”,而不是'我 – hadley 2013-03-05 17:08:33

回答

4

该问题与ddply无关,只是VARX在当前工作空间中不是有效的对象,因为它是my_data中的一列。你也与这个问题的建议在这里举行,可能将VARX = NULL地方你的电话之前subsample <- ddply(my_data, .(VARX), function(x){x[sample(nrow(x), 1), ]})像现在R CMD CHECK看到,有一个VARX对象将解决这个问题。这也为作用域确保了my_dataVARX被使用,而不是VARX在全球范围内不与调用ddply干扰。