R 패키지 'dplyr'의 mutate
함수는 요소에 대한 고유 한 재활용 기능을 가지고 있는데, 이는 as.numeric
요소를 반환하는 것으로 보입니다. z
이 c(1,1)
dplyr :: mutate의 이상한 요소 재활용 - 버그 또는 기능?
library(dplyr)
df <- data_frame(x=1:2)
glimpse(df %>% mutate(y="A", z=factor("B")))
# Variables:
# $ x (int) 1, 2
# $ y (chr) "A", "A"
# $ z (int) 1, 1
입니다이 뒤에 어떤 근거가 있는가, 또는 버그 반면 다음 예에서 y
, 당신은 무엇을 기대하게?
(나는 R 3.1.1 및 dplyr 0.3.0.1을 사용하고 있습니다.)
는 편집 :
GitHub의에 대한 문제로 게시 한 후, 로맹 프랑소와은 시간 이내에 고정! 따라서 위 경우 문제는 최신 버전을 얻을 수 devtools::install_github
를 사용한다 : 다음
library(devtools)
install_github("hadley/dplyr")
및
library(dplyr)
df <- data_frame(x=1:2)
glimpse(df %>% mutate(y="A", z=factor("B")))
# Variables:
# $ x (int) 1, 2
# $ y (chr) "A", "A"
# $ z (fctr) B, B
잘 했어 로맹를!
이 동작은 벡터 재활용으로 인한 것 같습니다. 길이가 2 인 요소를 지정하면, 예를 들어'glimpse (df %> % mutate (y = "A", z = factor (c ("B", "C"))))''변수를 지정하면 변수'z' 요소 클래스가 될 것입니다. –
요소 변수를 얻는 한 가지 방법은'df %> % do (data.frame (., y = "A", z = factor ("B"), stringsAsFactors = FALSE))' – akrun
@ mutate'가 올바른 선택이 아닌가? 어떤 추측이라도? – jazzurro