dplyr을 사용하여 다음을 복제하려고합니다.dplyr을 독립적으로 사용하는 데이터 집합의 하위 집합 변수
set.seed(123)
my_data <- data.frame(time = c(4:13, 4:13),
var1 = rep(c("a", "b"), each=10),
var2 = rnorm(20))
my_data_new <- with(my_data,
data.frame (time = time[var1 =="a"],
var2a = var2[var1 == "a"],
var2b = var2[var1 == "b"]))
나는() 변환 마법과 유사한 구문을 시도하고
Error: wrong result size (10), expected 20 or 1
감사합니다 다음과 같은 오류 메시지가 도착했습니다!
을 열 이름을 변경
dplyr
에서rename
를 사용할 수 있지만 그것은 매우 우아하지 않습니다 즉. var2a =. $ var2 [. $ var1 == 'a'], var2b =. $ var2 [. $ var1 == 'b']))' – akrun정말 잘못된 도구를 사용하고있는 것 같습니다. 당신은 정말로 당신의 데이터를 재 형성하고 있습니다. 따라서'reshape2' 또는'gather()/spread()'에서'tidyr'의'melt()/cast()'가 더 적절할 것입니다. – MrFlick