dplyr
可以对 summarise
执行链式 data.frame
操作吗?
我的 data.frame 具有以下结构:
data_df = tbl_df(data)
data_df %.%
group_by(col_1) %.%
summarise(number_of= length(col_2)) %.%
summarise(sum_of = sum(col_3))
这会导致 RStudio 遇到
fatal error - R Session Aborted
消息通常使用
plyr
我会毫无问题地包含这些 summarise
函数。更新
数据是 here.
代码是:
library(dplyr)
orth <- read.csv('orth0106.csv')
orth_df = tbl_df(orth)
orth_df %.%
group_by(Hospital) %.%
summarise(Procs = length(Procedure)) %.%
summarise(SSIs = sum(SSI))
最佳答案
我可以在运行 RStudio 0.97.551 的 Windows 7 机器上重现错误
这可能是因为您正在调用 summarise
并链接到不存在的东西上。您可以像我在这里所做的那样使用 2 个不同的列进行 summarise
。
url <- "https://raw.github.com/johnmarquess/some.data/master/orth0106.csv"
library(dplyr)
orth <- read.csv(url)
orth_df <- tbl_df(orth)
orth_df %.%
group_by(Hospital) %.%
summarise(Procs = length(Procedure), SSIs = sum(SSI))
## Source: local data frame [18 x 3]
##
## Hospital Procs SSIs
## 1 A 865 80
## 2 B 1069 38
## 3 C 796 24
## 4 D 891 35
## 5 E 997 39
## 6 F 550 30
## 7 G 2598 128
## 8 H 373 27
## 9 I 1079 70
## 10 J 714 30
## 11 K 477 30
## 12 L 227 2
## 13 M 125 6
## 14 N 589 38
## 15 O 292 3
## 16 P 149 9
## 17 Q 1984 52
## 18 R 351 13
无论如何,这似乎是 RStudio 或
dplyr
错误。我会向哈德利提出一个问题,因为他可能会关心任何一种方式。 https://github.com/hadley/dplyr/issues编辑 这(你的第一次调用)也会导致 rgui(windows)和终端在以下情况下崩溃:
R version 3.0.2 (2013-09-25)
Platform: i386-w64-mingw32/i386 (32-bit)
这表明 Hadley 和 Romain 想要了解的
dplyr
问题。为了得到我的第一点,我们运行:
orth_df %.%
group_by(Hospital) %.%
summarise(Procs = length(Procedure))
Source: local data frame [18 x 2]
Hospital Procs
1 A 865
2 B 1069
3 C 796
4 D 891
5 E 997
6 F 550
7 G 2598
8 H 373
9 I 1079
10 J 714
11 K 477
12 L 227
13 M 125
14 N 589
15 O 292
16 P 149
17 Q 1984
18 R 351
%.% summarise(SSIs = sum(SSI))
应该在哪里找到 SSI
?所以你认为正在发生的链接失败了。据我了解,
%.%
与 ggplot2
的工作方式并不完全相同,但相似。在 ggplot2
中,一旦您在初始映射中传递数据,您就可以稍后访问它。这里 %.% 似乎修改了抓取左边的块并像这样对其进行操作:所以你捕获了:
Hospital Procs
1 A 865
2 B 1069
3 C 796
.
.
.
17 Q 1984
18 R 351
当您使用
%.% summarise(SSIs = sum(SSI))
并且没有 SSI
可以获取时。所以想到的比喻是 serial vs. parallel wiring Christmas lights 。 %.% = serial
ggplot() + = parallel
。这是非程序员对事物的理解,R 大师可能会来告诉我我很愚蠢,但现在这是你拥有的最好的理论。关于r - 总结 dplyr 中的值 - 崩溃 RStudio,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21347968/