mtcars %>%
group_by(cyl) %>%
summarise(max_mpg = max(mpg)) # output one result for each unique group,
# result has nGroups number of rows.
cyl max_mpg
<dbl> <dbl>
1 4 33.9
2 6 21.4
3 8 19.2
mtcars %>%
group_by(cyl) %>%
mutate(max_mpg = max(mpg)) # output the same result for every row in the
# same group, result has same number of rows
# as input
给予
Source: local data frame [32 x 12]
Groups: cyl [3]
mpg cyl disp hp drat wt qsec vs am gear carb max_mpg
(dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl)
1 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4 21.4
2 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4 21.4
3 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1 33.9
4 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1 21.4
5 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2 19.2
6 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1 21.4
7 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4 19.2
8 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2 33.9
9 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2 33.9
10 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4 21.4
...
data.table
中这些操作的等价物是什么?
我认为mutate
是由
data.table(mtcars) %>%
.[, max := max(mpg), by = cyl]
data.table(mtcars) %>% .[, max(mpg), by = cyl]
cyl V1
1: 6 21.4
2: 4 33.9
3: 8 19.2
library(data.table)
MT <- data.table(mtcars)
# summarise
MT[, .(max_mpg = max(mpg)), by = cyl]
cyl max_mpg
1: 6 21.4
2: 4 33.9
3: 8 19.2
# mutate
MT[, max_mpg := max(mpg), by = cyl]
max_mpg
被添加到mt
,但该命令不显示数据
显示数据:
MT[, max_mpg := max(mpg), by = cyl][]
因为数据有32行,只显示头部:
MT[, max_mpg := max(mpg), by = cyl][,head(.SD, 6)]
mpg cyl disp hp drat wt qsec vs am gear carb max_mpg
1: 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 21.4
2: 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 21.4
3: 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 33.9
4: 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 21.4
5: 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 19.2
6: 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 21.4
MT[, .(max_mpg = max(mpg)), keyby=cyl]
cyl max_mpg
1: 4 33.9
2: 6 21.4
3: 8 19.2
data("mtcars")
setDT(mtcars)[, .(max_mpg = max(mpg)), by = cyl]
我想按节组织我的代码。通常我使用,但当我试图在.swift文件中这样做时,它就不起作用了。 所以我的问题是,我是否能够以某种方式启用它,如果不能,那么如何在.swift文件中组织代码?
像C/C、C#、Java、JavaScript和Pascal(参考)这样的编程语言结合了和语句(有时也称为或),允许您根据多个条件检查一个值以执行某些操作。 伪代码,用于描述-构造的特殊语法 了解字典查找等功能等价物后,是否存在与上述编程构造完全相同的语法等价物?
我仍然在学习和试验JavaFX中的GUIs,我似乎无法得到我所希望的“外观”…我试图在一个面板中分组几个标签,然后在另一个面板中添加另一个标签。但我似乎不知道如何在JavaFX中正确使用“JPanels”? 如有任何帮助,将不胜感激 编辑:这是我试图通过尝试不同的布局来实现的,但运气仍然不好
在Mac和Windows上,可以使用 <罢工> (替换 )和 (替换 ) (Docker 18.03+)位于容器内。 对于Linux来说,有没有一个可以在不传递env变量或使用各种CLI命令提取它的情况下开箱即用的方法?
我们有以下场景:使用Sonarqube扫描Windows10中的两个项目。 null 提前谢了。
我尝试使用numpy阵列执行以下操作: 这应该给出一个结果: 但如果输入向量是numpy数组: 它(预期)返回一个: 问题是,在此之后,我需要将结果转换回numpy数组。 我想知道的是,如果有一个有效的numpy函数可以避免这些来回的转换,那该怎么办?