Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R &引用;结果必须具有长度…”;错误与';完成。案例';_R - Fatal编程技术网

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(.))