在长格式的下面数据框中(即每个测量点一行),我想找出哪些人(变量ID)在Var1和Var2上只有NA值,以及哪些人在Var1或Var2上至少有一个非NA值。那些只有NA值的人应该属于Group 0,而那些至少有一个非NA值的人应该属于Group 1。
df <- read.table(text=
"ID Var1 Var2
800057 NA NA
800057 NA NA
800057 NA NA
800057 NA 1
800057 NA NA
800119 NA NA
800119 NA NA
800119 NA NA
834011 1 NA
834011 3 NA
834341 NA NA
834341 5 NA
834341 NA NA
834341 NA NA
834341 3 NA", header=TRUE)
我的结果将会是这样:
df <- read.table(text=
"ID Var1 Var2 Group
800057 NA NA 1
800057 NA NA 1
800057 NA NA 1
800057 NA 1 1
800057 NA NA 1
800119 NA NA 0
800119 NA NA 0
800119 NA NA 0
834011 1 NA 1
834011 3 NA 1
834341 NA NA 1
834341 5 NA 1
834341 NA NA 1
834341 NA 2 1
834341 3 NA 1", header=TRUE)
我想尝试使用group_by(ID)
和mutate()
来创建组变量。