Комбинации класса и азота не уникальны: четыре раза, когда класс == "тест" и азот == 11, два раза, когда класс == "тест" и азот == 6. Из справочной документации:
Если комбинация переменных, которые вы вводите, не однозначно идентифицирует одну строку в исходном наборе данных, вам нужно будет предоставить агрегирующую функцию fun.aggregate. Эта функция должна принимать вектор чисел и возвращать сводные статистические данные.
Итак, cast
агрегирует повторяющиеся комбинации. Вы не сможете вернуться к исходным данным, если не введете фиктивную переменную, которая делает комбинации уникальными.
data$dummy <- 1:10
data3 <- cast(data2, Class + nitrogen + dummy ~ variable)
data3
Class nitrogen dummy 1 2 3 4 5
1 test 4 1 0.2875775 0.95683335 0.8895393 0.96302423 0.1428000
2 test 5 5 0.9404673 0.10292468 0.6557058 0.02461368 0.1524447
3 test 6 2 0.7883051 0.45333416 0.6928034 0.90229905 0.4145463
4 test 6 3 0.4089769 0.67757064 0.6405068 0.69070528 0.4137243
5 test 8 4 0.8830174 0.57263340 0.9942698 0.79546742 0.3688455
6 test 11 10 0.4566147 0.95450365 0.1471136 0.23162579 0.8578277
7 test 12 6 0.0455565 0.89982497 0.7085305 0.47779597 0.1388061
8 test 12 7 0.5281055 0.24608773 0.5440660 0.75845954 0.2330341
9 test 12 8 0.8924190 0.04205953 0.5941420 0.21640794 0.4659625
10 test 12 9 0.5514350 0.32792072 0.2891597 0.31818101 0.2659726
Измените порядок столбцов и отбросьте манекен, если хотите, чтобы он был точно таким же.
data3[,c(4:8, 2, 1)]
1 2 3 4 5 nitrogen Class
1 0.2875775 0.95683335 0.8895393 0.96302423 0.1428000 4 test
2 0.9404673 0.10292468 0.6557058 0.02461368 0.1524447 5 test
3 0.7883051 0.45333416 0.6928034 0.90229905 0.4145463 6 test
4 0.4089769 0.67757064 0.6405068 0.69070528 0.4137243 6 test
5 0.8830174 0.57263340 0.9942698 0.79546742 0.3688455 8 test
6 0.4566147 0.95450365 0.1471136 0.23162579 0.8578277 11 test
7 0.0455565 0.89982497 0.7085305 0.47779597 0.1388061 12 test
8 0.5281055 0.24608773 0.5440660 0.75845954 0.2330341 12 test
9 0.8924190 0.04205953 0.5941420 0.21640794 0.4659625 12 test
10 0.5514350 0.32792072 0.2891597 0.31818101 0.2659726 12 test