2017-12-28 13 views
0

나는 라운드려고합니다하지 않습니다 나는이 내가 뭘하는지이며이 위대한 작품을 기본 R.dplyr 라운드 있지만 기본-R은

df$Variable99 <- round(df$Variable99, 2) 

을 사용하는 수입니다. 문제는 : 원래 dplyr로 모든 것을 파이핑했으나 아래에 표시된 이상한 오류가 발생했습니다. function_list에

df <- df %>% 
    round(Variable99, 2) 

오류 [K]가 : 오브젝트 Variable99 '

Variable99 확실히 내 데이터 프레임의 목적은 발견되지 않음. 데이터 프레임을 다시 만드는 데는 약 10 단계가 필요합니다. 무슨 일이 일어나고 있는지 알기 위해 구문과 오류 사이에 충분한 정보가 있습니까?

+3

거기에'mutate'를 추가해야합니다. –

+0

새로운 열을 추가 할 것인가? 동일한 열을 "Variable99"로 유지하고 반올림 한 값으로 덮어 쓰고 싶습니다. – stackinator

+3

이렇게하면'df %> % mutate (Variable = round (Variable99, 2) df %> % mutate (변수 99 = round (변수 99, 2)' –

답변

2

dplyr (tidyverse의 일부 임)에서 mutate 명령을 찾고 있습니다. 이렇게하면 새 열을 만들거나 데이터 프레임 (또는 바둑판 식)의 열을 변경할 수 있습니다.

아래 예제를 제공합니다.


suppressMessages(
    library(tidyverse) 
) 
#> Warning: package 'tibble' was built under R version 3.4.3 
#> Warning: package 'dplyr' was built under R version 3.4.3 

# Create a reproducible example 
df <- tibble(Variable99 = rnorm(20)) 

# Base R round 
round(df$Variable99, 2) 
#> [1] -1.07 0.10 -1.66 -0.54 -0.76 1.19 0.76 -2.10 0.80 1.54 0.47 
#> [12] -1.03 0.33 -0.45 -0.65 2.61 -0.60 -0.15 -2.52 -0.73 

# Piping without mutate 
df %>% 
    round(Variable99, 2) 
#> Error in function_list[[k]](value): object 'Variable99' not found 

# Piping with mutate 
df %>% 
    mutate(Variable99 = round(Variable99, 2)) 
#> # A tibble: 20 x 1 
#> Variable99 
#>   <dbl> 
#> 1  -1.07 
#> 2  0.100 
#> 3  -1.66 
#> 4  -0.540 
#> 5  -0.760 
#> 6  1.19 
#> 7  0.760 
#> 8  -2.10 
#> 9  0.800 
#> 10  1.54 
#> 11  0.470 
#> 12  -1.03 
#> 13  0.330 
#> 14  -0.450 
#> 15  -0.650 
#> 16  2.61 
#> 17  -0.600 
#> 18  -0.150 
#> 19  -2.52 
#> 20  -0.730 

는 희망이 도움이! datacamp에 대한 tidyverse에 대한 무료 강연이 몇 번 있었는데, 나는 tidyversing (https://www.datacamp.com/courses/introduction-to-the-tidyverse)을 처음 접하는 동료 중 일부에게 추천 해 왔습니다. 잘하면 도움이 될 것입니다!

(작은 노트 : 재현 가능한 예제를 제공하면 앞으로 더 많은 응답을 얻을 수 있습니다.) reprex 패키지를 사용하면 훨씬 쉽게 응답 할 수 있습니다. 코드를 작성한 다음 RStudio 애드 인을 사용할 수 있습니다 그것을 선택하고, 실행하고, 내가 여기에서했던 것처럼 그것을 올바른 형식으로 가져 오십시오. 여기에서 패키지를 찾을 수 있습니다 : https://github.com/tidyverse/reprex)