【发布时间】:2021-06-05 21:59:57
【问题描述】:
我看过一些关于我的问题的帖子,但我认为我的问题有点不同。我试图遵循解决方案,但都无济于事。
最初,我为176 column 的数据集做了一个pivot_longer,当我做summary(df) 时没有NA。
pivot_longer 之后的数据集如下所示:
region transportation_type country date value
Albania driving Albania 2020-01-13 100.00
Albania driving Albania 2020-01-14 95.30
Albania driving Albania 2020-01-15 101.43
Albania driving Albania 2020-01-16 97.20
Albania driving Albania 2020-01-17 103.55
Albania driving Albania 2020-01-18 112.67
但是,我需要使用 country 和 region 分析 transportation_type,所以我使用以下代码进行了 pivot_wider:
p_wide <- mobilityTrendData %>%
group_by(transportation_type) %>%
mutate(row = row_number()) %>%
pivot_wider(names_from = transportation_type,
values_from = daily_result) %>%
select(-row)
注意:列名 'value' 已更改为 'daily_result' 并且数字已经是 scaled 来自 value 列
结果如下:
> summary(p_wide)
region country date driving walking
Length:598230 Length:598230 Length:598230 Min. :-2.09 Min. :-2.1
Class :character Class :character Class :character 1st Qu.:-0.46 1st Qu.:-1.0
Mode :character Mode :character Mode :character Median : 0.00 Median :-0.3
Mean : 0.10 Mean :-0.4
3rd Qu.: 0.49 3rd Qu.: 0.1
Max. :25.60 Max. :10.6
NA's :80070 NA's :537880
transit
Min. :-2.1
1st Qu.:-1.4
Median :-0.8
Mean :-0.7
3rd Qu.:-0.1
Max. : 5.2
NA's :560490
我在 driving、walking 和 transit 的大部分行中都有 NA。 什么可以导致完全知道在以前的数据集中没有 NA?
我该如何解决这个问题?
【问题讨论】:
-
我在答案中选择了 Andy Eggers 的解释。当您
pivot_wider()时,标题将基于您突破的列的所有组合。检查您的longtibble,每个国家/地区每天都有每个活动(步行、驾驶、过境)的条目。我很确定 NA 来自missing条目。请注意,如果您在 pivot_longer 之后通过插补更正 NA,这并不能确保您拥有所有组合的条目。这是您需要检查(和估算)的东西。正如安迪所说:你看到的是数据的特征!