Существует ли функция R для мутирования строк с учетом критериев spesifi c? - PullRequest
1 голос
/ 04 марта 2020

Итак, у меня есть данные , выглядящие так .

Я пытаюсь умножить строку, указав c Год и Имя. Я хочу умножить строку на значение, если оно удовлетворяет заданному имени и требованиям года. Например Year = 2006 и Name = ABG Sundal Collier Holding. Мне трудно манипулировать строкой и столбцом, в которые легко вносить изменения с помощью пакета dplyr.

Любая помощь будет принята с благодарностью.

Редактировать: Я не пытаюсь создать новую переменную (или строку), только умножая существующую строку на значение.

1 Ответ

1 голос
/ 09 марта 2020

Вы можете условно заменить существующие значения в строке, используя case_when или if_else:

library(tidyverse)

df <- data.frame(Name = rep("ABG Sundal Collier Holding", 3), Year = c(2004, 2005, 2006), SomeValue = c(5, 10, 15))

df <- df %>%
  mutate(SomeValue = case_when(Name == "ABG Sundal Collier Holding" & Year == 2006 ~ SomeValue * 10, 
        TRUE ~ SomeValue))

df <- df %>%
  mutate(SomeValue = if_else(Name == "ABG Sundal Collier Holding" & Year == 2006, SomeValue * 10, SomeValue))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...