gpt4 book ai didi

r - dplyr:需要帮助返回每行中第一个非 NA 值的列索引

转载 作者:行者123 更新时间:2023-12-04 09:30:44 24 4
gpt4 key购买 nike

我最近开始尝试在 tidyverse 中执行我的所有代码。这有时使我遇到困难。这是我在 tidyverse 中无法完成的一个简单任务:我需要数据帧中的一列,该列返回从左侧开始的第一个非 na 值的位置索引。有谁知道如何使用 mutate 在 dplyr 中实现这一点?

这是所需的输出。

data.frame(                           
"X1"=c(100,rep(NA,8)),
"X2"=c(NA,10,rep(NA,7)),
"X3"=c(NA,NA,1000,1000,rep(NA,5)),
"X4"=c(rep(NA,4),25,50,10,40,50),
"FirstNonNaPosition"=c(1,2,3,3,4,4,4,4,4)
)

最佳答案

你也可以使用 apply :

data.frame(                           
"X1"=c(100,rep(NA,8)),
"X2"=c(NA,10,rep(NA,7)),
"X3"=c(NA,NA,1000,1000,rep(NA,5)),
"X4"=c(rep(NA,4),25,50,10,40,50),
"FirstNonNaPosition"=c(1,2,3,3,4,4,4,4,4)
) %>%
mutate(First_Non_NA_Pos = apply(., 1, function(x) which(!is.na(x))[1]))

X1 X2 X3 X4 FirstNonNaPosition First_Non_NA_Pos
1 100 NA NA NA 1 1
2 NA 10 NA NA 2 2
3 NA NA 1000 NA 3 3
4 NA NA 1000 NA 3 3
5 NA NA NA 25 4 4
6 NA NA NA 50 4 4
7 NA NA NA 10 4 4
8 NA NA NA 40 4 4
9 NA NA NA 50 4 4

关于r - dplyr:需要帮助返回每行中第一个非 NA 值的列索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56137543/

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