【发布时间】:2015-12-20 18:48:36
【问题描述】:
我有两个 data.sets(来自 memisc 包)都设置为合并,合并通过时没有错误或警告,但输出是 data.frame,而不是 data.set。命令是:
datTS <- merge(datT1, datT2, by.x="ryear", by.y="ryear")
(抱歉,我没有更方便的玩具数据示例。)以下页面似乎非常清楚地表明,memisc 中应该有一个内置方法,可以将 data.sets 正确合并为一个数据.set:
http://rpackages.ianhowson.com/rforge/memisc/man/dataset-manip.html https://github.com/melff/memisc/blob/master/pkg/R/dataset-methods.R
...但它似乎没有在我的机器上正确触发(也为我的笨拙术语感到抱歉)。请注意我的代码与我链接的第一页末尾的示例代码的相似之处:
ds6 <- merge(ds1,ds5,by.x="a",by.y="c")
我已验证我拥有最新版本的 R、RStudio、memisc 和所有依赖项。到目前为止,我已经使用了许多其他 memisc 方法(within、transform、missing.values 等)没有问题。
所以我的问题是:根据memisc 包,当源数据采用data.set 形式时,还需要做什么才能让merge 函数正确生成data.set? (官方包文档中没有明确解决此合并功能。)由于上面第二个链接中的代码似乎为此提供了方法,是否有一些解决方法,至少,用于安装和使用该代码?也许只有一些我不知道的单独的“方法安装”(但为什么它会与主包分开?)。
【问题讨论】:
-
0.97版本中pkg:memisc的帮助页面没有描述
data.sets的合并函数方法。您将我们指向可能不是已发布的 github 版本。你安装的是github版本吗? -
这就解释了。我只是直接查看了那个 github 父级并看到了自述文件,其中解释了
memisc的预发布版本发布在那里。这完全回答了我的问题。如果您愿意,可以将其发布为答案,我会点击接受。非常感谢!