объединить и суммировать столбцы вместе R

Оператор $ push добавляет указанное значение в массив.

{ $push: { : , ... } }

$ push добавляет поле массива со значением как своим элементом.

Выше ответ отвечает всем требованиям, но я получил его работу, выполнив следующие

var objFriends = { fname:"fname",lname:"lname",surname:"surname" };
Friend.findOneAndUpdate(
   { _id: req.body.id }, 
   { $push: { friends: objFriends  } },
  function (error, success) {
        if (error) {
            console.log(error);
        } else {
            console.log(success);
        }
    });
)
-2
задан thomas leon 15 January 2019 в 23:13
поделиться

2 ответа

Вот ответ, используя tidyverse методы из dplyr и tidyr

library(tidyverse)

df <- data.frame(ca = c("a","b","a","c","b", "b"),
                 f = c(3,4,0,NA,3, 4),
                 f2 = c(NA,5,6,1,9, 7),
                 f3 = c(3,0,6,3,0, 8))

df %>% 
  replace_na(list(f = 0, f2 = 0)) %>% 
  mutate(f_new = f + f2)
#>   ca f f2 f3 f_new
#> 1  a 3  0  3     3
#> 2  b 4  5  0     9
#> 3  a 0  6  6     6
#> 4  c 0  1  3     1
#> 5  b 3  9  0    12
#> 6  b 4  7  8    11
0
ответ дан dylanjm 15 January 2019 в 23:13
поделиться

Dplyr может сделать это довольно хорошо с помощью следующего кода. Строка позволяет вам рассматривать каждую строку отдельно. И команда mutate суммирует любые столбцы, которые вы хотите. na.rm = TRUE обрабатывает проблему, когда у вас есть NA и вы хотите их игнорировать. Как упоминалось в комментарии, если у вас его нет, он даст вам NA, если он находится в любом из суммированных значений.

library(dplyr)
df %>% 
  rowwise() %>% 
  mutate(f_new = sum(f,f2, na.rm = TRUE))
0
ответ дан Sahir Moosvi 15 January 2019 в 23:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: