Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.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_Dataframe - Fatal编程技术网

R 从一个数据帧中提取变量列表并将其应用于另一个数据帧

R 从一个数据帧中提取变量列表并将其应用于另一个数据帧,r,dataframe,R,Dataframe,我在R中有一个数据帧,包含几个二进制变量 df1 <- cbind(w = c(1,0,0,0,0), x = c(1,1,1,1,0), y = c(0,0,0,1,1), z = (c(0,0,0,0,1))) > df1 # w x y z #[1,] 1 1 0 0 #[2,] 0 1 0 0 #[3,] 0 1 0 0 #[4,] 0 1 1 0 #[5,] 0 0 1 1 我将非常感谢任何帮助 试试这个 cbind(df1,`colnames<-`(+

我在R中有一个数据帧,包含几个二进制变量

df1 <- cbind(w = c(1,0,0,0,0), x = c(1,1,1,1,0), y = c(0,0,0,1,1), z = (c(0,0,0,0,1)))

> df1

#     w x y z
#[1,] 1 1 0 0
#[2,] 0 1 0 0
#[3,] 0 1 0 0
#[4,] 0 1 1 0
#[5,] 0 0 1 1
我将非常感谢任何帮助

试试这个

cbind(df1,`colnames<-`(+apply(df2, 1, function(k) rowSums(df1[,k])>0),do.call(paste,c(as.data.frame(df2),sep = "_"))))
> df1_New

#     w x y z w_z y_x y_w
#[1,] 1 1 0 0   1   1   1
#[2,] 0 1 0 0   0   1   0
#[3,] 0 1 0 0   0   1   0
#[4,] 0 1 1 0   0   1   1
#[5,] 0 0 1 1   1   1   1
cbind(df1,`colnames<-`(+apply(df2, 1, function(k) rowSums(df1[,k])>0),do.call(paste,c(as.data.frame(df2),sep = "_"))))
     w x y z w_z y_x y_w
[1,] 1 1 0 0   1   1   1
[2,] 0 1 0 0   0   1   0
[3,] 0 1 0 0   0   1   0
[4,] 0 1 1 0   0   1   1
[5,] 0 0 1 1   1   1   1