我是R编程的新手。
我有一个简单的问题,考虑一个矩阵:
A B
0 0
1 0
0 0
0 0
1 0
0 0
如果A中出现1,我想用B填充B,如下所示:
A B
0 0
1 1
0 1
0 1
1 1
0 1
这样:
b = ifelse(a == 1 | b[-1] == 1,0)
但它不起作用。
答案 0 :(得分:0)
如果x
是您的矩阵:
A B
[1,] 0 0
[2,] 1 0
[3,] 0 0
[4,] 0 0
[5,] 0 0
[6,] 1 0
然后你可以这样做:
x[min(which(x[, "A"] == 1)):nrow(x), "B"] <- 1
这将在A列中找到第一次出现1
的位置,然后从该点开始用1
填充B列。从您的问题看来,这就是您想要做的事情。