r - group_by 无法正常工作,仅选择了部分变量进行分组
问题描述
我正在尝试计算特定变量的变化率gstatus
,但group_by
仅在我的 ID 变量中间选择三个字符RAUMID
进行分组。这是我的数据框的简短示例:
> head(df_long, 20)
RAUMID gcode tg1 tg2 tg3 tg4 tg5 is_eg F_IN_KRAFT.x Year gstatus
1 1011101 4 8.000000 4.000000 1.998631 0.000000 0.000000 0 0 2003 0
2 1011102 3 1.998631 4.000000 0.000000 0.000000 0.000000 0 0 2003 0
3 1011103 3 9.998631 2.001369 0.000000 0.000000 0.000000 1 2019 2003 0
4 1011104 5 4.000000 4.000000 4.000000 1.998631 1.002053 0 0 2003 0
5 1011105 3 1.998631 4.000000 0.000000 0.000000 0.000000 0 0 2003 0
6 1011201 4 4.000000 4.000000 1.998631 0.000000 0.000000 0 0 2003 0
7 1011202 3 4.000000 4.000000 0.000000 0.000000 0.000000 0 0 2003 0
8 1011203 3 1.998631 6.001369 0.000000 0.000000 0.000000 0 0 2003 0
9 1011204 4 4.000000 4.000000 1.998631 0.000000 0.000000 0 0 2003 0
10 1011301 3 9.998631 2.001369 0.000000 0.000000 0.000000 0 0 2003 0
11 1011302 1 0.000000 0.000000 0.000000 0.000000 0.000000 0 0 2003 0
12 1011303 1 0.000000 0.000000 0.000000 0.000000 0.000000 1 2019 2003 0
13 1011304 4 4.000000 6.001369 5.998631 0.000000 0.000000 0 0 2003 1
14 1011305 5 8.000000 2.001369 1.998631 2.001369 3.000684 0 0 2003 1
15 1011306 4 4.000000 6.001369 4.000000 0.000000 0.000000 0 0 2003 1
16 1011401 4 1.998631 4.000000 4.000000 0.000000 0.000000 0 0 2003 0
17 1011402 3 5.998631 2.001369 0.000000 0.000000 0.000000 0 0 2003 0
18 1022101 3 4.000000 6.001369 0.000000 0.000000 0.000000 0 0 2003 1
19 1022102 4 4.000000 6.001369 1.998631 0.000000 0.000000 0 0 2003 1
20 1022103 2 10.001369 0.000000 0.000000 0.000000 0.000000 0 0 2003 1
当我尝试使用时会发生以下情况dplyr::group_by()
:
> df_long %>% group_by(RAUMID)
# A tibble: 4,023 x 11
# Groups: RAUMID [447]
RAUMID gcode tg1 tg2 tg3 tg4 tg5 is_eg F_IN_KRAFT.x Year gstatus
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 1011101 4 8 4 2.00 0 0 0 0 2003 0
2 1011102 3 2.00 4 0 0 0 0 0 2003 0
3 1011103 3 10.0 2.00 0 0 0 1 2019 2003 0
4 1011104 5 4 4 4 2.00 1.00 0 0 2003 0
5 1011105 3 2.00 4 0 0 0 0 0 2003 0
6 1011201 4 4 4 2.00 0 0 0 0 2003 0
7 1011202 3 4 4 0 0 0 0 0 2003 0
8 1011203 3 2.00 6.00 0 0 0 0 0 2003 0
9 1011204 4 4 4 2.00 0 0 0 0 2003 0
10 1011301 3 10.0 2.00 0 0 0 0 0 2003 0
# … with 4,013 more rows
虽然没有在复制粘贴中显示,但数字 2-4 在我的控制台中带有下划线。此外,该行属于 class factor
,有趣的是,在 中View(df_long)
,我能够订购该行RAUMID
并且它已成功分组。
编辑:需要明确的是,我知道数据没有正确分组,因为我上面所说的关于查看的内容,并且因为使用test <- df_long[order(df_long$RAUMID),]
,它可以正常工作。
> head(test)
RAUMID gcode tg1 tg2 tg3 tg4 tg5 is_eg F_IN_KRAFT.x Year gstatus
1 1011101 4 8 4 1.998631 0 0 0 0 2003 0
448 1011101 4 8 4 1.998631 0 0 0 0 2005 1
895 1011101 4 8 4 1.998631 0 0 0 0 2007 1
1342 1011101 4 8 4 1.998631 0 0 0 0 2009 1
1789 1011101 4 8 4 1.998631 0 0 0 0 2011 1
2236 1011101 4 8 4 1.998631 0 0 0 0 2013 2
解决方案
推荐阅读
- c# - 带字符串的双块引号不起作用
- node.js - 如何在mongodb中使用像查询这样的数字字段?
- xcode10 - 新的 Xcode 10 生成 dsym 文件问题
- node.js - 在 Node.js 中验证 Azure idToken
- c++ - 编译时检查 trait 特化是否有唯一的 id
- angular - 无法从获取请求中获取数据
- javascript - 我在哪里放置标题(chart.js)?
- google-analytics - 如何将事件链接并提取到谷歌分析中的会话 ID?
- laravel - 如何排队 Laravel 5.7“电子邮件验证”电子邮件发送
- javascript - 单击窗口以在跨度上添加类