Я пытаюсь использовать функцию pivot_wider из tidyr, чтобы транспонировать два вида значений одновременно, как показано в примере «Несколько наблюдений на строку» под виньеткой ('pivot'), но я продолжаю получать странные сообщения об ошибках .
Вот пример того, что происходит:
set.seed(5)
testdat <- data.frame(matrix(nrow=5,ncol=5))
colnames(testdat) <- c('rating','percent.Female','percent.Male','se.Female','se.Male')
testdat$rating <- c('Very good','Good','OK','Bad','Very bad')
testdat$percent.Female <- rnorm(5,.5,.2)
testdat$percent.Male <- 1 - testdat$percent.Female
testdat$se.Female <- rnorm(5,0.1,0.003)
testdat$se.Male <- rnorm(5,0.1,0.003)
testdat
rating percent.Female percent.Male se.Female se.Male
1 Very good 0.3318289 0.6681711 0.09819128 0.10368289
2 Good 0.7768719 0.2231281 0.09858350 0.09759466
3 OK 0.2489016 0.7510984 0.09809389 0.09675882
4 Bad 0.5140286 0.4859714 0.09914268 0.09952740
5 Very bad 0.8422882 0.1577118 0.10041432 0.09678472
testdat %>% pivot_longer(cols=-"rating",names_sep=".",names_to=c(".value","gender"),values_drop_na=T)
Error: Expected a vector, not NULL
Call `rlang::last_error()` to see a backtrace
In addition: Warning message:
Expected 2 pieces. Additional pieces discarded in 4 rows [1, 2, 3, 4]
Я почти точно следил за виньеткой - почему это не работает?