Поскольку столбец x
в фрейме данных test
не однозначно идентифицирует строки, и, тем не менее, вы не хотите выполнять агрегирование, вам необходимо дополнить фрейм данных уникальным id
столбец, а затем используйте dcast()
из пакета reshape2
:
require(reshape2)
test$id <- 1:nrow(test)
> dcast(test, id + x ~ y, value_var = 'z')[,-1]
x b c
1 a 1 NA
2 a 2 NA
3 a NA 1