Обновление таблицы в R программировании, синтаксис - PullRequest
0 голосов
/ 22 марта 2019

Как мне это сделать в программировании на R? Не уверен, почему процесс зависает

dat <- data.frame(
  total = 10,
  expense = c(2,3,1,3,1)
)

#  total expense
#1    10       2
#2    10       3
#3    10       1
#4    10       3
#5    10       1

Ожидаемый результат:

out <- data.frame(
  total = 10,
  expense = c(2,3,1,3,1),
  remaining = c(8,5,4,1,0)
)
#  total expense remaining
#1    10       2         8
#2    10       3         5
#3    10       1         4
#4    10       3         1
#5    10       1         0

Я пытался:

while (dat$remaining > 0)
{ dat$remaining <- dat$total - dat$expense}

1 Ответ

0 голосов
/ 22 марта 2019

Это по существу вычитает cum относительный sum столбца dat$expense из исходного значения dat$total.Итак:

dat$remaining <- dat$total[1] - cumsum(dat$expense)
dat
#  total expense remaining
#1    10       2         8
#2    10       3         5
#3    10       1         4
#4    10       3         1
#5    10       1         0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...