Ниже приведен пример данных, которые у меня есть
datahave
# A tibble: 6 x 6
YEAR SCHOOL_NAME CONTENT_AREA BELOW_BASIC_PCT BASIC_PCT ADVANCED_PCT
<dbl> <chr> <chr> <chr> <chr> <chr>
1 2015 5TH AND 6TH GRADE CTR. Eng. Language Arts 38.1 28.3 10.1
2 2015 5TH AND 6TH GRADE CTR. Mathematics 39 30.3 14.6
3 2015 5TH AND 6TH GRADE CTR. Science 25.4 41.7 12.3
4 2015 6TH GRADE CENTER Eng. Language Arts 7.6 27.8 21.8
5 2015 6TH GRADE CENTER Mathematics 19.100000000000001 37.700000000000003 17.5
6 2015 7th and 8th Grade Center Eng. Language Arts 52.1 27.4 1.7
Ниже приведен воспроизводимый пример, похожий на этот
school<-c("A","A",'A','B','B','B')
content_area<-c('english','math','science','english','math','science')
below_basic<-c(20,30,40,10,15,20)
advanced<-c(2,5,3,1,2.5,1.5)
df<-data.frame(school,content_area,below_basic,advanced)
df
, и он запустил следующий код на приведенном выше
library(reshape2)
dcast(melt(df), school ~ content_area + variable)
Это дает мне желаемый вывод, потому что он использует Using school, content_area as id variables
Однако, когда я запускаю тот же код в исходном наборе данных
dcast(melt(datahave), SCHOOL_NAME ~ CONTENT_AREA + variable)
, он фактически использует Using SCHOOL_NAME, CONTENT_AREA, BELOW_BASIC_PCT, BASIC_PCT, ADVANCED_PCT as id variables
Как указать, какие столбцы можно использовать в качестве переменной ID?поэтому я получаю вывод, похожий на воспроизводимый пример.