gpt4 book ai didi

r - 无法使用来自 tidyr 的新 pivot_wider() 填充缺失值

转载 作者:行者123 更新时间:2023-12-04 10:37:53 25 4
gpt4 key购买 nike

我对新的 tidyr::pivot_wider() 很着迷具有缺失值功能的函数。
它有时有效,有时无效。

这是一个可重现的示例:

require('tidyr')
df <- data.frame(
color = c("green", "yellow"),
nb = c(1758, 12)
)

# add one level
df$color <- factor(df$color, levels = c("green", "yellow", "red"))

这很有效:

# with deprecated `spread`
spread(data = df,
key = color, value = nb,
fill = 0,
drop = F)
>>  green yellow red  
>>1 1758 12 0

但这不

# with new `pivot_wider`
pivot_wider(data = df,
names_from = color,
values_from = nb,
values_fill = list(nb = 0))
# A tibble: 1 x 2
green yellow
<dbl> <dbl>
1 1758 12

我究竟做错了什么 ?

我已经注意到这个 partial answer但我想获得我的函数的等效行为,而不必添加中间步骤。

最佳答案

我们可以使用 complete创建基于 levels 的组合然后使用 pivot_wider

library(dplyr)
library(tidyr)
df %>%
complete(color = levels(color), fill = list(nb = 0)) %>%
pivot_wider(names_from = color, values_from = nb)
# A tibble: 1 x 3
# green red yellow
# <dbl> <dbl> <dbl>
#1 1758 0 12

关于r - 无法使用来自 tidyr 的新 pivot_wider() 填充缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60080977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com