@@ -104,126 +104,159 @@ highlight_key <- function(...) {
104
104
crosstalk :: SharedData $ new(... )
105
105
}
106
106
107
+ # ---------------------------------------------------------------------------
108
+ # dplyr methods
109
+ # ---------------------------------------------------------------------------
110
+
107
111
# ' @rdname plotly_data
108
- # ' @export
109
112
groups.plotly <- function (x ) {
110
- dplyr :: groups(plotly_data(x ))
113
+ groups(plotly_data(x ))
111
114
}
112
115
113
116
# ' @rdname plotly_data
114
- # ' @export
115
117
ungroup.plotly <- function (x , ... ) {
116
- d <- dplyr :: ungroup(plotly_data(x ))
118
+ d <- ungroup(plotly_data(x ), ... )
117
119
add_data(x , d )
118
120
}
119
121
120
122
# ' @rdname plotly_data
121
- # ' @export
122
- group_by_.plotly <- function (.data , ... , .dots , add = FALSE ) {
123
- d <- plotly_data(.data )
124
- additional_args <- dots_as_quosures(lazyeval :: all_dots(.dots , ... ))
125
- d2 <- group_by_add(d , !!! additional_args , add = add )
126
- # add crosstalk key as a group (to enable examples like demos/highlight-pipeline.R)
123
+ group_by.plotly <- function (.data , ... ) {
124
+ d <- group_by(plotly_data(.data ), ... )
127
125
if (crosstalk_key() %in% names(d )) {
128
- d2 <- group_by_add(d2 , !! rlang :: sym(crosstalk_key()), add = TRUE )
126
+ d <- group_by_add(d , !! rlang :: sym(crosstalk_key()), add = TRUE )
129
127
}
130
- add_data(.data , d2 )
128
+ add_data(.data , d )
131
129
}
132
130
133
131
# ' @rdname plotly_data
134
- # ' @export
135
- summarise_.plotly <- function (.data , ... , .dots ) {
136
- d <- plotly_data(.data )
137
- additional_args <- dots_as_quosures(lazyeval :: all_dots(.dots , ... ))
138
- d <- dplyr :: summarise(d , !!! additional_args )
132
+ mutate.plotly <- function (.data , ... ) {
133
+ d <- mutate(plotly_data(.data ), ... )
134
+ add_data(.data , d )
135
+ }
136
+
137
+ # ' @rdname plotly_data
138
+ do.plotly <- function (.data , ... ) {
139
+ d <- do(plotly_data(.data ), ... )
140
+ add_data(.data , d )
141
+ }
142
+
143
+ # ' @rdname plotly_data
144
+ summarise.plotly <- function (.data , ... ) {
145
+ d <- summarise(plotly_data(.data ), ... )
146
+ add_data(.data , d )
147
+ }
148
+
149
+ # ' @rdname plotly_data
150
+ arrange.plotly <- function (.data , ... ) {
151
+ d <- arrange(plotly_data(.data ), ... )
152
+ add_data(.data , d )
153
+ }
154
+
155
+ # ' @rdname plotly_data
156
+ select.plotly <- function (.data , ... ) {
157
+ d <- select(plotly_data(.data ), ... )
158
+ add_data(.data , d )
159
+ }
160
+
161
+ # ' @rdname plotly_data
162
+ filter.plotly <- function (.data , ... ) {
163
+ d <- filter(plotly_data(.data ), ... )
164
+ add_data(.data , d )
165
+ }
166
+
167
+ # ' @rdname plotly_data
168
+ distinct.plotly <- function (.data , ... ) {
169
+ d <- distinct(plotly_data(.data ), ... )
170
+ add_data(.data , d )
171
+ }
172
+
173
+ # ' @rdname plotly_data
174
+ slice.plotly <- function (.data , ... ) {
175
+ d <- slice(plotly_data(.data ), ... )
176
+ add_data(.data , d )
177
+ }
178
+
179
+ # ' @rdname plotly_data
180
+ rename.plotly <- function (.data , ... ) {
181
+ d <- rename(plotly_data(.data ), ... )
182
+ add_data(.data , d )
183
+ }
184
+
185
+ # ' @rdname plotly_data
186
+ transmute.plotly <- function (.data , ... ) {
187
+ d <- transmute(plotly_data(.data ), ... )
188
+ add_data(.data , d )
189
+ }
190
+
191
+ # ------------------------------------------------------------
192
+ # Deprecated dplyr non-nse generics
193
+ # ------------------------------------------------------------
194
+
195
+ # ' @rdname plotly_data
196
+ group_by_.plotly <- function (.data , ... , .dots , add = FALSE ) {
197
+ args <- dots_as_quosures(lazyeval :: all_dots(.dots , ... ))
198
+ d <- group_by_add(plotly_data(.data ), !!! args , add = add )
199
+ # add crosstalk key as a group (to enable examples like demos/highlight-pipeline.R)
200
+ if (crosstalk_key() %in% names(d )) {
201
+ d <- group_by_add(d , !! rlang :: sym(crosstalk_key()), add = TRUE )
202
+ }
139
203
add_data(.data , d )
140
204
}
141
205
142
206
# ' @rdname plotly_data
143
- # ' @export
144
207
mutate_.plotly <- function (.data , ... , .dots ) {
145
208
d <- plotly_data(.data )
146
- dotz <- lazyeval :: all_dots(.dots , ... )
147
- # '.' in a pipeline should really reference the data!!
148
- lapply(dotz , function (x ) { assign(" ." , d , x $ env ) })
149
- set <- attr(d , " set" )
150
- d <- dplyr :: mutate(d , !!! dots_as_quosures(dotz ))
151
- add_data(.data , structure(d , set = set ))
209
+ d <- dplyr :: mutate_(d , .dots = lazyeval :: all_dots(.dots , ... ))
210
+ add_data(.data , d )
152
211
}
153
212
154
213
# ' @rdname plotly_data
155
- # ' @export
156
214
do_.plotly <- function (.data , ... , .dots ) {
157
215
d <- plotly_data(.data )
158
- dotz <- lazyeval :: all_dots(.dots , ... )
159
- # '.' in a pipeline should really reference the data!!
160
- lapply(dotz , function (x ) { assign(" ." , d , x $ env ) })
161
- set <- attr(d , " set" )
162
- d <- dplyr :: do(d , !!! dots_as_quosures(dotz ))
163
- add_data(.data , structure(d , set = set ))
216
+ d <- dplyr :: do_(d , .dots = lazyeval :: all_dots(.dots , ... ))
217
+ add_data(.data , d )
164
218
}
165
219
166
220
# ' @rdname plotly_data
167
- # ' @export
168
221
arrange_.plotly <- function (.data , ... , .dots ) {
169
- d <- plotly_data(.data )
170
- additional_args <- dots_as_quosures(lazyeval :: all_dots(.dots , ... ))
171
- d <- dplyr :: arrange(d , !!! additional_args )
172
- add_data(.data , d )
222
+ args <- dots_as_quosures(lazyeval :: all_dots(.dots , ... ))
223
+ arrange(d , !!! args )
173
224
}
174
225
175
226
# ' @rdname plotly_data
176
- # ' @export
177
227
select_.plotly <- function (.data , ... , .dots ) {
178
- d <- plotly_data(.data )
179
- additional_args <- dots_as_quosures(lazyeval :: all_dots(.dots , ... ))
180
- d <- dplyr :: select(d , !!! additional_args )
181
- add_data(.data , d )
228
+ args <- dots_as_quosures(lazyeval :: all_dots(.dots , ... ))
229
+ select(d , !!! args )
182
230
}
183
231
184
232
# ' @rdname plotly_data
185
- # ' @export
186
233
filter_.plotly <- function (.data , ... , .dots ) {
187
- d <- plotly_data(.data )
188
- additional_args <- dots_as_quosures(lazyeval :: all_dots(.dots , ... ))
189
- d <- dplyr :: filter(d , !!! additional_args )
190
- add_data(.data , d )
234
+ args <- dots_as_quosures(lazyeval :: all_dots(.dots , ... ))
235
+ filter(d , !!! args )
191
236
}
192
237
193
238
# ' @rdname plotly_data
194
- # ' @export
195
239
distinct_.plotly <- function (.data , ... , .dots ) {
196
- d <- plotly_data(.data )
197
- additional_args <- dots_as_quosures(lazyeval :: all_dots(.dots , ... ))
198
- d <- dplyr :: distinct(d , .dots = !!! additional_args )
199
- add_data(.data , d )
240
+ args <- dots_as_quosures(lazyeval :: all_dots(.dots , ... ))
241
+ distinct(d , !!! args )
200
242
}
201
243
202
244
# ' @rdname plotly_data
203
- # ' @export
204
245
slice_.plotly <- function (.data , ... , .dots ) {
205
- d <- plotly_data(.data )
206
- additional_args <- dots_as_quosures(lazyeval :: all_dots(.dots , ... ))
207
- d <- dplyr :: slice(d , !!! additional_args )
208
- add_data(.data , d )
246
+ args <- dots_as_quosures(lazyeval :: all_dots(.dots , ... ))
247
+ slice(d , !!! args )
209
248
}
210
249
211
250
# ' @rdname plotly_data
212
- # ' @export
213
251
rename_.plotly <- function (.data , ... , .dots ) {
214
- d <- plotly_data(.data )
215
- additional_args <- dots_as_quosures(lazyeval :: all_dots(.dots , ... ))
216
- d <- dplyr :: rename(d , !!! additional_args )
217
- add_data(.data , d )
252
+ args <- dots_as_quosures(lazyeval :: all_dots(.dots , ... ))
253
+ rename(d , !!! args )
218
254
}
219
255
220
256
# ' @rdname plotly_data
221
- # ' @export
222
257
transmute_.plotly <- function (.data , ... , .dots ) {
223
- d <- plotly_data(.data )
224
- additional_args <- dots_as_quosures(lazyeval :: all_dots(.dots , ... ))
225
- d <- dplyr :: transmute(d , !!! additional_arg )
226
- add_data(.data , d )
258
+ args <- dots_as_quosures(lazyeval :: all_dots(.dots , ... ))
259
+ transmute(.data , !!! args )
227
260
}
228
261
229
262
# ---------------------------------------------------------------------------
0 commit comments