Я б заперечував зовсім інший підхід. Я бачив підручники з R, які викладалися з двох різних точок зору: підхід будівельних блоків, в якому користувачі знайомляться з основними поняттями R, і підхід шоку і страху, в якому користувачі демонструють дивовижні можливості R, але залишаються відносно мало розуміння того, як робити що-небудь. Останній, безумовно, сильніше резонує зі школярами, але жоден з них не здається дуже ефективним у створенні користувачів.
Натомість я б взяв загальну та відносно просту задачу в SPSS і пройшов перетворення її на R, з трішки примхливої наївності з твого боку - наприклад, дотримуючись відмінної пропозиції Сіану шукати потрібні функції ??
а не просто відкликання потрібної функції з пам'яті. Ваші новачки майже напевно перетворюватимуть існуючі процеси, коли вони засвоюють R, а не пишуть їх з нуля - так чому б не показати їм точно, як ви це зробите?
Хороший приклад може складатися з просто завантаження даних, виконання деяких описових даних і виведення деяких основних сюжетів. lm()
може бути дуже, дуже простим і дає результати, які вони зрозуміють і можуть порівняти з результатами SPSS, так що це також може бути корисним для висвітлення.
Для виконання домашніх завдань змусьте їх взяти участь у перетворенні одного з їх простих процесів або завантаженні та вивченні набору даних, з яким вони дуже знайомі. Дайте їм декілька раз на один раз, щоб зрозуміти, де справи йдуть не так, а потім висвітліть їх на наступному сеансі більше прикладів перетворень. Концепти з вашого списку неминуче з’являться (мій заклад: коефіцієнти проти векторів персонажів, за - застосувати) - і тоді у вас з'явиться реальна мотивація їх висвітлення. Якщо вони не з'являються ( attach
), то вони ще не дуже потрібні - якщо це означає, що ваші новачки рано напишуть трохи неідіоматичного коду ( for
замістьapply
) , я не бачу шкоди.
Таким чином, ваші студенти можуть прогресувати приблизно так само, як це роблять студенти іноземної мови (або, принаймні, так, як я): грубий переклад простих виразів викликає прагнення до більш складних виразів, що викликає прагнення до глибшого розуміння граматики , що з часом призводить до ідіоматичного вираження. Не переходьте на "граматику" занадто рано, і не переживайте занадто багато, щоб викладати їм те, чого вони не просять, тому що вони, ймовірно, просто забудуть це все одно. Чіткі вказівки щодо ідіоматичного вираження чудові ( for
проти apply
), але головне - змусити їх отримувати результати та самостійно досліджувати.