从数据框的每一列中删除不同的值

时间:2018-10-15 08:41:18

标签: r dataframe

我有以下物品

A<-data.frame(replicate(5,c(1,2,3,4)))
A=   X1 X2 X3 X4 X5
     1  1  1  1  1
     2  2  2  2  2
     3  3  3  3  3
     4  4  4  4  4

B<-c(1,2,3,4,1)

B = 1 2 3 4 5

我想找到一种方法,从A的第一列中删除B的第一个元素,从A的第二列中删除B的第二个元素,依此类推,所以我得到以下结果

A=   X1 X2 X3 X4 X5
     2  1  1  1  2
     3  3  2  2  3
     4  4  4  3  4

2 个答案:

答案 0 :(得分:1)

使用mapply,我们可以并行传递AB并过滤B中不存在的值

mapply(function(x, y) x[x != y], A, B)

#     X1 X2 X3 X4 X5
#[1,]  2  1  1  1  2
#[2,]  3  3  2  2  3
#[3,]  4  4  4  3  4

PS-确保ncol(A)length(B)相同,否则将导致向量回收,从而导致意外结果。

答案 1 :(得分:1)

一种$_SESSION['']解决方案:

<?php
    session_start();
    echo "Welcome, " . $_SESSION['username']; //Added keyname
?>
<html>
    all the html code
</html>