例如,使用具有CrossTable输出的复合赋值管道运算符

时间:2015-12-21 11:40:36

标签: r dataframe dplyr crosstab assignment-operator

我想使用复合赋值管道运算符%<>%。例如,使用下面的代码,我可以生成一个具有所需比例的简单数据框:

data("mtcars")
Vectorize(require)(package = c("magrittr", "gmodels"),
                   character.only = TRUE)

mtcars_sum <- CrossTable(mtcars$am, mtcars$cyl)$prop.row

如图所示:

> head(mtcars_sum)
   y
x           4         6         8
  0 0.1578947 0.2105263 0.6315789
  1 0.6153846 0.2307692 0.1538462

我想进行相同的转换,但使用%<>管道:

mtcars_sum %<>%
  CrossTable(mtcars$am, mtcars$cyl)$prop.row

这会返回以下错误:

> mtcars_sum %<>%
+   CrossTable(mtcars$am, mtcars$cyl)$prop.row
Error in .$CrossTable(mtcars$am, mtcars$cyl) : 
  3 arguments passed to '$' which requires 2

我错过了什么?

0 个答案:

没有答案