【问题标题】:How to find the first occurance of NAs based on the levels of a specific column如何根据特定列的级别查找第一次出现的 NA
【发布时间】:2022-11-15 07:51:50
【问题描述】:

我有这些数据:

X1<-c(1.1,0.2,0.4,0.8,1.3,2.3,1.1,3.2,NA,0.8,2.1,NA,1.1,0.2,0.4,0.8,NA,0.6)
X2<-c(0.8,NA,1.2,0.3,NA,NA,0.8,NA,1.5,2.7,2.2,NA,0.8,3.1,1.7,0.3,1.1,2.4)
Time<-c("baseline","week1","week2","week3","week4","week5","baseline","week1","week2","week3","week4","week5","baseline","week1","week2","week3","week4","week5")
data<-data.frame(X1,X2,Time)

我想找出第一个NA发生在X1和X2的时间点

我这样做了,但它没有给出我想要的正确输出:

data %>%
group_by (Time)
filter (is.na(X1)) %>%
slice (1) %>%
ungroup ()

例如,我想要的 X1 是这样的输出:

Time    
Week 2

谁能伸出援手?

【问题讨论】:

  • 你的代码有什么问题?
  • @onyambu 当我在我的实际数据上尝试时,它会在我的每个时间点前给我一个 NA 列表

标签: r dplyr statistics missing-data


【解决方案1】:

尝试这个:

data %>% apply(2, function(x) which(is.na(x))[1])

【讨论】:

  • 谢谢,但根据我的真实数据,这段代码为我提供了所有变量的列表,每个变量下面都有一些数字。它没有告诉我第一次 NA 发生在我的欲望变量的哪个时间点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-21
  • 1970-01-01
  • 2021-08-14
  • 1970-01-01
相关资源
最近更新 更多