Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.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_Dplyr_Plyr - Fatal编程技术网

R 合并列和合并内容

R 合并列和合并内容,r,dplyr,plyr,R,Dplyr,Plyr,例如,我希望合并两列并将其内容添加到一起 X1 X2 3 5 6 9 3 3 0 6 NA 4 NA NA 创造 X3 8 15 6 6 4 NA 如有任何指示,我们将不胜感激。在R底,您可以: X3 <- X1 + X2 df %>% mutate(X3 = X1 + X2) 也就是说,假设X1和X2是df中的两个独立列 基本R解决方案将在单独的向量上工作,即使不是在单个df中 行和适用于此类情况。如果data.frame的列数超过2列,则在下面的解决

例如,我希望合并两列并将其内容添加到一起

X1  X2
3   5
6   9
3   3
0   6
NA  4
NA  NA
创造

X3
8
15
6
6
4
NA

如有任何指示,我们将不胜感激。

在R底,您可以:

X3 <- X1 + X2
df %>% mutate(X3 = X1 + X2)
也就是说,假设X1和X2是df中的两个独立列


基本R解决方案将在单独的向量上工作,即使不是在单个df中

行和
适用于此类情况。如果data.frame的列数超过2列,则在下面的解决方案中,
df
应替换为
df[c(“X1”、“X2”)]

如果OP希望最后一行具有
NA
,则解决方案如下:

df$X3 <- ifelse(rowSums(is.na(df)) == ncol(df), NA, rowSums(df, na.rm = TRUE))

df
#    X1 X2 X3
# 1  3  5  8
# 2  6  9 15
# 3  3  3  6
# 4  0  6  6
# 5 NA  4  4
# 6 NA NA NA
数据:

df <- read.table(text = 
"X1  X2
3   5
6   9
3   3
0   6
NA  4
NA  NA",
header = TRUE)

df查找
rowSums()
除非您显式地子集(
df$X1+df$X2
),将
一起使用,或者使用向量(例如,通过使用
附加
)将全局环境丢弃,否则基本R解决方案将不会运行
sum
也会尝试将所有数据相加为一个数字,这不是所需的。此外,这些方法都不会像OP要求的那样处理
NA
。tl;dr:在发布之前,您需要运行代码以确保其正常工作。
df$X3 <- rowSums(df, na.rm = TRUE)

df
#    X1 X2 X3
# 1  3  5  8
# 2  6  9 15
# 3  3  3  6
# 4  0  6  6
# 5 NA  4  4
# 6 NA NA  0
df <- read.table(text = 
"X1  X2
3   5
6   9
3   3
0   6
NA  4
NA  NA",
header = TRUE)