首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R: merge()中的ALL和all有什么区别?

R: merge()中的ALL和all有什么区别?
EN

Stack Overflow用户
提问于 2017-04-12 15:47:02
回答 1查看 41关注 0票数 2

https://stat.ethz.ch/R-manual/R-devel/library/base/html/merge.html中尝试了该示例。然后我发现当我们设置ALL = TRUE和all = TRUE作为merge()的参数时,我得到了不同的结果(一个有6行,另一个有7行)。发生了什么?有人能给点提示吗?谢谢。

代码语言:javascript
复制
> authors <- data.frame(
+     surname = I(c("Tukey", "Venables", "Tierney", "Ripley", "McNeil")),
+     nationality = c("US", "Australia", "US", "UK", "Australia"),
+     deceased = c("yes", rep("no", 4)))
> books <- data.frame(
+     name = I(c("Tukey", "Venables", "Tierney",
+                "Ripley", "Ripley", "McNeil", "R Core")),
+     title = c("Exploratory Data Analysis",
+               "Modern Applied Statistics ...",
+               "LISP-STAT",
+               "Spatial Statistics", "Stochastic Simulation",
+               "Interactive Data Analysis",
+               "An Introduction to R"),
+     other.author = c(NA, "Ripley", NA, NA, NA, NA,
+                      "Venables & Smith"))

> m1<-merge(authors, books, by.x = "surname", by.y = "name", ALL = TRUE)
> m1
   surname nationality deceased                         title other.author
1   McNeil   Australia       no     Interactive Data Analysis         <NA>
2   Ripley          UK       no            Spatial Statistics         <NA>
3   Ripley          UK       no         Stochastic Simulation         <NA>
4  Tierney          US       no                     LISP-STAT         <NA>
5    Tukey          US      yes     Exploratory Data Analysis         <NA>
6 Venables   Australia       no Modern Applied Statistics ...       Ripley
> m2<-merge(authors, books, by.x = "surname", by.y = "name", all = TRUE)
> m2
   surname nationality deceased                         title     other.author
1   McNeil   Australia       no     Interactive Data Analysis             <NA>
2   R Core        <NA>     <NA>          An Introduction to R Venables & Smith
3   Ripley          UK       no            Spatial Statistics             <NA>
4   Ripley          UK       no         Stochastic Simulation             <NA>
5  Tierney          US       no                     LISP-STAT             <NA>
6    Tukey          US      yes     Exploratory Data Analysis             <NA>
7 Venables   Australia       no Modern Applied Statistics ...           Ripley
EN

回答 1

Stack Overflow用户

发布于 2017-04-12 16:09:20

您观察到此行为的原因是ALL不是merge的有效参数(它是小写的all)。如果指定ALL = TRUEmerge不会抛出错误,因为它允许通过...使用其他参数。在您的示例中,该参数被忽略。因此,当您设置ALL = TRUE时,merge仅使用默认值all = FALSE

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43363422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档