【发布时间】:2021-10-04 11:31:08
【问题描述】:
我有一个数据框,在各个列中有很多 NaN。
df <- data.frame(
Data1 = c(3,2,1,NaN, NaN, NaN),
Data2 = c(NaN, NaN, NaN, 3,5,3),
Data3 = c(NaN, NaN, 7,5,1, NaN)
)
我正在尝试通过在 NaNvalues 上使用 pivot_longer、filtering 并使用 pivot_wider 将正数再次放回其原始列中来摆脱 NaN 值,这,但是失败了:
library(tidyr)
df %>%
pivot_longer(c("Data1","Data2","Data3")) %>%
filter(!is.na(value)) %>%
pivot_wider(names_from = name,
values_from = value)
# A tibble: 1 x 3
Data1 Data3 Data2
<list> <list> <list>
1 <dbl [3]> <dbl [3]> <dbl [3]>
Warning message:
Values are not uniquely identified; output will contain list-cols.
* Use `values_fn = list` to suppress this warning.
* Use `values_fn = length` to identify where the duplicates arise
* Use `values_fn = {summary_fun}` to summarise duplicates
代码有什么问题,如何实现这个输出?
Data1 Data2 Data3
3 3 7
2 5 5
1 3 1
【问题讨论】: