dplyr을 사용하여 여러 변수를 조건부로 업데이트

Gowerc

dplyr을 사용하여 R에서 여러 변수를 업데이트하기 위해 단일 조건문을 사용하려고합니다. 작업 코드 (아래에 게시 됨)가 있지만 매우 비효율적이며 더 나은 방법이 있어야한다고 확신합니다.

편집 : 프로그램의 목적에 대한 설명. 아이디어는 홍채 데이터 세트를 사용하여 Species 값을 기반으로 여러 변수를 업데이트하는 것입니다. 예를 들어 Species == "setosa"then Species = "SETOSA", Sepal.Length * = 1.5, Sepal.Width * = 0.5입니다.

library(dplyr)
library(tibble)

multi_update <- function(species , sepal.length , sepal.width , ret){

  if ( species == "setosa")  {
    RET <- list( 
      Species      = "SETOSA",
      Sepal.Length = sepal.length * 1.5,
      Sepal.Width  = sepal.width * 0.5
    )
  } else if ( species == "versicolor") {
    RET <- list( 
      Species      = "VERSI",
      Sepal.Length = sepal.length * 2,
      Sepal.Width  = sepal.width * 1.5
    )
  } else {
    RET <- list( 
      Species      = species,
      Sepal.Length = sepal.length ,
      Sepal.Width  = sepal.width 
    )
  }                     
  return( RET[[ret]] )
}

iris %>% 
  tbl_df %>% 
  mutate( Sepal.Length = mapply(multi_update , Species , Sepal.Length , Sepal.Width , "Sepal.Length")) %>% 
  mutate( Sepal.Width  = mapply(multi_update , Species , Sepal.Length , Sepal.Width , "Sepal.Width")) %>% 
  mutate( Species      = mapply(multi_update , Species , Sepal.Length , Sepal.Width , "Species"))
Akrun

join원래 데이터 세트와 mutate열을 사용하여 key val 데이터 세트를 만들 수 있습니다.

library(dplyr)
kval <- data.frame(Species = c("setosa", "versicolor", "virginica"),
       Species.x = c("SETOSA", "VERSI", "virginica"), 
      Sepal.Length = c(1.5, 2, 1), Sepal.Width = c(0.5, 1.5, 1))
res <- left_join(iris, kval, by = "Species") %>% 
           mutate(Species = Species.x, Sepal.Length = Sepal.Length.x*Sepal.Length.y, 
             Sepal.Width = Sepal.Width.x * Sepal.Width.y) %>%
            select(-matches("(.x|.y)$"))
head(res)
#  Petal.Length Petal.Width Species Sepal.Length Sepal.Width
#1          1.4         0.2  SETOSA         7.65        1.75
#2          1.4         0.2  SETOSA         7.35        1.50
#3          1.3         0.2  SETOSA         7.05        1.60
#4          1.5         0.2  SETOSA         6.90        1.55
#5          1.4         0.2  SETOSA         7.50        1.80
#6          1.7         0.4  SETOSA         8.10        1.95

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

rowSum을 사용하여 dplyr에서 regex로 조건부 변경

분류에서Dev

dplyr을 사용하여 조건부로 열 이름 설정

분류에서Dev

dplyr을 사용하여 이전 변수 (이름과 값 모두)를 조건부 값으로 문자 변수를 만듭니다.

분류에서Dev

dplyr을 사용하여 조건부로 요인 변수 수준 바꾸기

분류에서Dev

부울 논리를 사용하여 여러 조건을 기반으로 데이터 프레임 필터링

분류에서Dev

dplyr mutate 함수를 사용하여 현재 행을 기준으로 조건부로 새 변수 만들기

분류에서Dev

`dplyr`를 사용하여 조건부로 열 값 변경

분류에서Dev

ggplot2를 사용하여 데이터 플롯을 조건부로 순환

분류에서Dev

vba를 사용하여 여러 조건부로 값을 정렬하는 방법

분류에서Dev

창에서 여러 조건을 사용하여 열 그룹 업데이트

분류에서Dev

t-sql 내부 조인을 사용하여 여러 행 업데이트

분류에서Dev

R-변수의 값을 사용하여 다른 변수에서 여러 값을 조건부로 선택

분류에서Dev

열 이름으로 전역 변수를 사용할 때 data.table을 사용하여 열 업데이트

분류에서Dev

MS Access를 사용하여 여러 조인 및 where 절을 사용하여 업데이트를 수행하는 방법은 무엇입니까?

분류에서Dev

PHP를 사용하여 열을 기반으로 여러 행을 업데이트하는 MySQL 쿼리

분류에서Dev

PHP를 사용하여 열을 기반으로 여러 행을 업데이트하는 MySQL 쿼리

분류에서Dev

R (dplyr)의 여러 변수를 사용하여 와이드 데이터를 long으로 재구성

분류에서Dev

dplyr 동적 변수 이름을 사용하여 ifelse로 변경

분류에서Dev

jq를 사용하여 모든 레코드의 여러 값을 조건부로 변경하는 방법

분류에서Dev

SQL Server의 조인을 사용하여 업데이트 문을 Oracle로 변환

분류에서Dev

Pandas 데이터 프레임을 사용하여 새 변수를 만들고 날짜 범위를 기반으로 조건부 값 적용

분류에서Dev

여러 조건으로 쿼리를 업데이트하기 위해 동적 SQL을 사용하는 방법은 무엇입니까?

분류에서Dev

R에서 Dplyr을 사용하여 여러 열 구조 변환

분류에서Dev

조인을 사용하여 SELECT를 업데이트로 전환하는 mySQL

분류에서Dev

여러 중복 조건을 기반으로 업데이트

분류에서Dev

변수를 사용하여 여러 조건으로 데이터 프레임을 필터링 할 때 오류 발생 (Pandas)

분류에서Dev

LIKE를 사용하여 여러 행을 업데이트하지 않는 SQLite

분류에서Dev

사후 데이터 변수를 테스트하기 위해 배열을 사용하여 조건부 함수 자동화

분류에서Dev

CASE를 사용하여 쿼리에 AND 조건을 조건부로 추가

Related 관련 기사

  1. 1

    rowSum을 사용하여 dplyr에서 regex로 조건부 변경

  2. 2

    dplyr을 사용하여 조건부로 열 이름 설정

  3. 3

    dplyr을 사용하여 이전 변수 (이름과 값 모두)를 조건부 값으로 문자 변수를 만듭니다.

  4. 4

    dplyr을 사용하여 조건부로 요인 변수 수준 바꾸기

  5. 5

    부울 논리를 사용하여 여러 조건을 기반으로 데이터 프레임 필터링

  6. 6

    dplyr mutate 함수를 사용하여 현재 행을 기준으로 조건부로 새 변수 만들기

  7. 7

    `dplyr`를 사용하여 조건부로 열 값 변경

  8. 8

    ggplot2를 사용하여 데이터 플롯을 조건부로 순환

  9. 9

    vba를 사용하여 여러 조건부로 값을 정렬하는 방법

  10. 10

    창에서 여러 조건을 사용하여 열 그룹 업데이트

  11. 11

    t-sql 내부 조인을 사용하여 여러 행 업데이트

  12. 12

    R-변수의 값을 사용하여 다른 변수에서 여러 값을 조건부로 선택

  13. 13

    열 이름으로 전역 변수를 사용할 때 data.table을 사용하여 열 업데이트

  14. 14

    MS Access를 사용하여 여러 조인 및 where 절을 사용하여 업데이트를 수행하는 방법은 무엇입니까?

  15. 15

    PHP를 사용하여 열을 기반으로 여러 행을 업데이트하는 MySQL 쿼리

  16. 16

    PHP를 사용하여 열을 기반으로 여러 행을 업데이트하는 MySQL 쿼리

  17. 17

    R (dplyr)의 여러 변수를 사용하여 와이드 데이터를 long으로 재구성

  18. 18

    dplyr 동적 변수 이름을 사용하여 ifelse로 변경

  19. 19

    jq를 사용하여 모든 레코드의 여러 값을 조건부로 변경하는 방법

  20. 20

    SQL Server의 조인을 사용하여 업데이트 문을 Oracle로 변환

  21. 21

    Pandas 데이터 프레임을 사용하여 새 변수를 만들고 날짜 범위를 기반으로 조건부 값 적용

  22. 22

    여러 조건으로 쿼리를 업데이트하기 위해 동적 SQL을 사용하는 방법은 무엇입니까?

  23. 23

    R에서 Dplyr을 사용하여 여러 열 구조 변환

  24. 24

    조인을 사용하여 SELECT를 업데이트로 전환하는 mySQL

  25. 25

    여러 중복 조건을 기반으로 업데이트

  26. 26

    변수를 사용하여 여러 조건으로 데이터 프레임을 필터링 할 때 오류 발생 (Pandas)

  27. 27

    LIKE를 사용하여 여러 행을 업데이트하지 않는 SQLite

  28. 28

    사후 데이터 변수를 테스트하기 위해 배열을 사용하여 조건부 함수 자동화

  29. 29

    CASE를 사용하여 쿼리에 AND 조건을 조건부로 추가

뜨겁다태그

보관