核心思想是 全程使用list
数据要整理为以下格式
> head(JG) itemID option correct 0.05 0.1 0.15 0.25 0.35 0.45 0.55 0.6 0.7 0.75 0.8 0.85 0.9 0.95 1 1 NR000527 A A 12.5 8.3 5.3 13 0 9.1 5.9 9.5 11.1 8.3 0 0 7.7 0 10 2 NR000527 B B 0 0 5.3 0 0 0 0 4.8 0 0 0 0 0 0 0 3 NR000527 C *C 6.2 8.3 10.5 0 11.5 0 23.5 4.8 0 25 20 0 0 20 0 4 NR000527 D D 81.2 83.3 78.9 87 84.6 86.4 64.7 81 88.9 66.7 80 100 92.3 80 90 5 NR000527 O O 0 0 0 0 3.8 4.5 5.9 0 0 0 0 0 0 0 0 6 NR000267 A A 0 16.7 36.8 17.4 7.7 18.2 11.8 14.3 11.1 16.7 0 9.1 7.7 0 0
然后使用将该data.frame按题目拆分
CF <- split(JG,JG$itemID) > CF $NR000154 itemID option correct 0.05 0.1 0.15 0.25 0.35 0.45 0.55 0.6 0.7 0.75 0.8 0.85 0.9 0.95 1 171 NR000154 A *A 18.8 0 15.8 4.3 19.2 18.2 5.9 52.4 55.6 75 40 72.7 53.8 60 60 172 NR000154 B B 12.5 16.7 10.5 13 11.5 18.2 5.9 19 11.1 0 0 9.1 7.7 10 0 173 NR000154 C C 12.5 16.7 15.8 17.4 11.5 18.2 47.1 19 22.2 25 40 9.1 23.1 20 30 174 NR000154 D D 18.8 16.7 5.3 26.1 23.1 31.8 23.5 4.8 11.1 0 20 9.1 15.4 10 10 175 NR000154 O O 37.5 50 52.6 39.1 34.6 13.6 17.6 4.8 0 0 0 0 0 0 0 $NR000169 itemID option correct 0.05 0.1 0.15 0.25 0.35 0.45 0.55 0.6 0.7 0.75 0.8 0.85 0.9 0.95 1 176 NR000169 A A 6.2 8.3 0 21.7 11.5 13.6 11.8 19 22.2 33.3 20 0 7.7 30 10 177 NR000169 B *B 18.8 8.3 15.8 17.4 15.4 22.7 41.2 19 22.2 41.7 40 72.7 46.2 30 60 178 NR000169 C C 12.5 25 10.5 8.7 11.5 18.2 17.6 42.9 33.3 8.3 40 0 0 20 10 179 NR000169 D D 18.8 16.7 26.3 13 26.9 31.8 11.8 14.3