【发布时间】:2020-12-07 10:52:46
【问题描述】:
我有一个如下所示的 data.table:
library(data.table)
dt <- fread(
"Sex Height
M 180
F 179
F 162
M 181
M 165
M 178
F 172
F 160",
header = TRUE
)
我想将高度分成几组。但是,我想要男性和女性的单独组。下面的代码给了我三个因素水平,我想要六个。
dt[,height_f := cut(Height, breaks = c(0, 165, 180, 300), right = FALSE), by="Sex"]
> table(dt$height_f)
[0,165) [165,180) [180,300)
2 4 2
感觉应该是很简单的东西,但是不知道怎么写。
期望的输出:
> table(dt$height_f)
M:[0,165) M:[165,180) M:[180,300) F:[0,165) F:[165,180) F:[180,300)
0 3 1 2 2 0
【问题讨论】:
-
您确定想要的输出吗?我在“M:[165,180)”中只得到 2 个观察结果。
-
@sindry_baldur 不,我是手工做的,可能出错了。
标签: r syntax data.table refactoring levels