Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.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
使用dplyr跨两列合并_R_Dplyr - Fatal编程技术网

使用dplyr跨两列合并

使用dplyr跨两列合并,r,dplyr,R,Dplyr,我希望合并包含不同数据的两列。也就是说,在一列中它是空的,而在另一列中它不是空的,基本上是从一项研究中的两个不同条件收集的数据,为了进行分析,我需要结合这些数据并进行t检验。我想知道如何将数字列与dplyr结合起来- check <- check %>% mutate(cat = rowSums(.[1:2])) > dput(head(check)) structure(list(t7_1_ExpA_Intro1 = c(NA_integer_, NA_intege

我希望合并包含不同数据的两列。也就是说,在一列中它是空的,而在另一列中它不是空的,基本上是从一项研究中的两个不同条件收集的数据,为了进行分析,我需要结合这些数据并进行t检验。我想知道如何将数字列与dplyr结合起来-

check <- check %>% 
  mutate(cat = rowSums(.[1:2]))


> dput(head(check))
structure(list(t7_1_ExpA_Intro1 = c(NA_integer_, NA_integer_, 
NA_integer_, NA_integer_, NA_integer_, NA_integer_), t7_1_ExpB_Intro1 = c(NA, 
NA, NA, 3L, NA, NA), t7_1_ExpA_DV = c(NA_integer_, NA_integer_, 
NA_integer_, NA_integer_, NA_integer_, NA_integer_), t7_1_ExpB_DV = c(NA, 
NA, NA, 3L, NA, NA), cat = c(NA_integer_, NA_integer_, NA_integer_, 
NA_integer_, NA_integer_, NA_integer_)), .Names = c("t7_1_ExpA_Intro1", 
"t7_1_ExpB_Intro1", "t7_1_ExpA_DV", "t7_1_ExpB_DV", "cat"), row.names = c(NA, 
-6L), class = c("tbl_df", "tbl", "data.frame"))
检查%
突变(cat=行和([1:2]))
>dput(头部(检查))
结构(列表(t7_1_ExpA_Intro1=c),
NA_整数,NA_整数,NA_整数,NA_整数,NA_整数),t7_1_ExpB_Intro1=c(NA,
NA,NA,3L,NA,NA),t7_1_ExpA_DV=c(NA_整数,NA_整数,
NA_整数,NA_整数,NA_整数,NA_整数,NA_整数),t7_1_ExpB_DV=c(NA,
NA,NA,3L,NA,NA),cat=c(NA_整数,NA_整数,NA_整数,
NA_integer,NA_integer,NA_integer,NA_integer),name=c(“t7_1_ExpA_Intro1”,
“t7_1_ExpB_Intro1”、“t7_1_ExpA_DV”、“t7_1_ExpB_DV”、“cat”),row.names=c(NA,
-6L),class=c(“待测数据帧”)

您可以使用
dplyr::coalesce
函数从第一次显示为非NA的列中选择值;如果要合并前两列,请说明:

check %>% mutate(cat = coalesce(t7_1_ExpA_Intro1, t7_1_ExpB_Intro1))
# or check %>% mutate(cat = do.call(coalesce, .[1:n])) if you have more columns to coalesce

# A tibble: 6 x 5
#  t7_1_ExpA_Intro1 t7_1_ExpB_Intro1 t7_1_ExpA_DV t7_1_ExpB_DV   cat
#             <int>            <int>        <int>        <int> <int>
#1               NA               NA           NA           NA    NA
#2               NA               NA           NA           NA    NA
#3               NA               NA           NA           NA    NA
#4               NA                3           NA            3     3
#5               NA               NA           NA           NA    NA
#6               NA               NA           NA           NA    NA
check%>%突变(cat=coalesce(t7_1_ExpA_Intro1,t7_1_ExpB_Intro1))
#如果有更多列要合并,请选中%>%mutate(cat=do.call(coalesce,[1:n])
#一个tibble:6x5
#t7_1_ExpA_简介t7_1_ExpB_简介t7_1_ExpA_DV t7_1_ExpB_DV cat
#                                          
#1不,不,不,不
#2钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠
#3不,不,不,不
#4钠3钠3
#5不,不,不,不
#6不,不,不,不

您可以使用
dplyr::coalesce
函数从第一次显示为非NA的列中选择值;如果要合并前两列,请说明:

check %>% mutate(cat = coalesce(t7_1_ExpA_Intro1, t7_1_ExpB_Intro1))
# or check %>% mutate(cat = do.call(coalesce, .[1:n])) if you have more columns to coalesce

# A tibble: 6 x 5
#  t7_1_ExpA_Intro1 t7_1_ExpB_Intro1 t7_1_ExpA_DV t7_1_ExpB_DV   cat
#             <int>            <int>        <int>        <int> <int>
#1               NA               NA           NA           NA    NA
#2               NA               NA           NA           NA    NA
#3               NA               NA           NA           NA    NA
#4               NA                3           NA            3     3
#5               NA               NA           NA           NA    NA
#6               NA               NA           NA           NA    NA
check%>%突变(cat=coalesce(t7_1_ExpA_Intro1,t7_1_ExpB_Intro1))
#如果有更多列要合并,请选中%>%mutate(cat=do.call(coalesce,[1:n])
#一个tibble:6x5
#t7_1_ExpA_简介t7_1_ExpB_简介t7_1_ExpA_DV t7_1_ExpB_DV cat
#                                          
#1不,不,不,不
#2钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠钠
#3不,不,不,不
#4钠3钠3
#5不,不,不,不
#6不,不,不,不

如果您提供一个示例输入数据和所需的输出,将更容易帮助您。如果没有数据,则是
NA
0
?你可以使用
max
function
check$cat@Masoud我试过了,但它不起作用,奇怪的是,它似乎应该起作用,而且这些值都是NAcan你可以检查你的数据类,如果它是数值的吗?提供此信息,您的问题将立即得到回答:
dput(head(check))
。如果您提供一个示例输入数据和所需的输出,将更容易帮助您。如果没有数据,则是
NA
0
?你可以使用
max
function
check$cat@Masoud我试过了,但它不起作用,奇怪的是,它似乎应该起作用,而且这些值都是NAcan你可以检查你的数据类,如果它是数值的吗?提供此选项,您的问题将立即得到回答:
dput(head(check))