【发布时间】:2022-01-13 01:25:14
【问题描述】:
在dplyr,当使用pivot_wide时,我想同时替换'NA'。
这是下面的代码,它们不起作用。任何人都可以帮忙吗?谢谢!
library(tidyverse)
test_data <- data.frame(category=c('A','B','A','B','A','B','A','B'),
sub_category=c('a1','b1','a2','b2','a1','b1','a2','b2'),
sales=c(1,2,4,5,8,1,4,6))
#method1: Error: Can't convert <double> to <list>.
test_data %>% pivot_wider(names_from = 'category',
values_from = 'sales',
values_fill = 0) %>% unnest()
#method2: code can't run
test_data %>% pivot_wider(names_from = 'category',
values_from = 'sales') %>% unnest() %>%
as.data.frame() %>%
mutate(across(where(is.numeric),function(x) stringr::str_replace('NA',0)))
【问题讨论】:
-
values_fill参数必须是values_fill = list(column_name = value)形式的列表。 -
我无法运行您的任何代码。您能否显示示例输入所需的输出?
-
另外,只是为了一般知识,缺失值
NA与字符串"NA"不同。 -
@Gregor Thomas 我试过'values_fill = list(column_name = value)',但它不起作用,你能帮忙显示完整的代码吗?谢谢!
-
我很想向您展示代码,但我不知道您的目标是什么。您能否按照我的第二条评论显示您想要的输出?