R &引用;结果必须具有长度…”;错误与';完成。案例';
这是我问的问题的延伸,我在哪里寻找一种方法,根据受试者的数据是否匹配我的过滤器,自动将受试者标记为组 在尝试自动贴标签之前,这就是我所拥有的R &引用;结果必须具有长度…”;错误与';完成。案例';,r,R,这是我问的问题的延伸,我在哪里寻找一种方法,根据受试者的数据是否匹配我的过滤器,自动将受试者标记为组 在尝试自动贴标签之前,这就是我所拥有的 library(tidyverse) df <- structure(list(Subj_ID = c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L), Location = c(1, 2, 3, 1, 4, 2, 1, 2, 5)), class = "data.frame",
library(tidyverse)
df <- structure(list(Subj_ID = c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L),
Location = c(1, 2, 3, 1, 4, 2, 1, 2, 5)), class = "data.frame",
row.names = c(NA, -9L))
df2 <- df %>%
mutate(group=
if_else(Subj_ID ==1,
"Treatment",
if_else(Subj_ID == 2,
"Control","Withdrawn")))
complete.df <- df2 %>% filter(complete.cases(.))
库(tidyverse)
df导致问题的属性是groupby
,可以通过解组
然后应用过滤器来解决。在OP的最后一个代码块(手动编码)中,它没有创建分组属性,因此可以工作
library(dplyr)
df3 %>%
ungroup %>%
filter(complete.cases(.))
或者,我们可以使用来代替过滤器中的完成.cases
!is.na
带有过滤器\u all
而不删除分组属性
df3 %>%
filter_all(any_vars(!is.na(.)))
OP提到的最后一个代码块正在工作,但它没有任何组属性。如果我们创建一个,那么它也会失败
df3 %>%
group_by(group) %>%
filter(complete.cases(.))
错误:结果的长度必须为3,而不是9
我花了大概5个小时来讨论这个问题,你在我发帖的5分钟内回答正确。非常感谢你!
df3 %>%
filter_all(any_vars(!is.na(.)))
df3 %>%
group_by(group) %>%
filter(complete.cases(.))