假设的情况是存在 NA 在data.frame
> a <- c(1:5, NA, 7:10)
> b <- 1:10
> c <- 1:10
>
> data <- data.frame(a,b,c)
> data
a b c
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4
5 5 5 5
6 NA 6 6
7 7 7 7
8 8 8 8
9 9 9 9
10 10 10 10
> data <- data.frame(a,b,c)
> data.frame(t(apply(data,1,cumsum)))
a b c
1 1 2 3
2 2 4 6
3 3 6 9
4 4 8 12
5 5 10 15
6 NA NA NA
7 7 14 21
8 8 16 24
9 9 18 27
10 10 20 30
我想要的结果是
a b c
1 1 2 3
2 2 4 6
3 3 6 9
4 4 8 12
5 5 10 15
6 0 6 12
7 7 14 21
8 8 16 24
9 9 18 27
10 10 20 30
或者
a b c
1 1 2 3
2 2 4 6
3 3 6 9
4 4 8 12
5 5 10 15
6 NA 6 12
7 7 14 21
8 8 16 24
9 9 18 27
10 10 20 30
我不确定apply(..., cumsum)
是一个好的选择,您可以提供替代方法。