Вот подход, использующий tidyr
.
library(tidyr)
df2 <- df %>%
# (optional) First convert all the data columns to text so
# they're readable throughout the process.
mutate_at(vars(Date:Q6_text), as.character) %>%
# Gather into long format, where we record the column it came from
# as "question" and the value it held as "value"
gather(question, value, -Subject_ID, -row_num) %>%
# Combine the row_num and question into a new column
unite("question2", c("row_num", "question")) %>%
# Use that new column to spread everything out
spread(question2, value)
> df2
Subject_ID 1_Date 1_Q1 1_Q2_text 1_Q3 1_Q4 1_Q5 1_Q6_text 2_Date 2_Q1 2_Q2_text 2_Q3 2_Q4 2_Q5 2_Q6_text 3_Date 3_Q1 3_Q2_text 3_Q3 3_Q4 3_Q5 3_Q6_text
1 1 2019-01-01 4 Because 5 5 1 and so on 2019-01-02 1 O, bother 5 4 1 <NA> 2019-01-03 2 <NA> 3 4 <NA> <NA>
2 2 2018-12-04 <NA> <NA> 1 4 1 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
3 3 2018-12-15 3 In addtion 5 <NA> 3 <NA> 2018-12-26 1 <NA> 4 3 2 in conclusion <NA> <NA> <NA> <NA> <NA> <NA> <NA>
Книга , Программируя Коллективный разум OReilly имела главу, касающуюся генетических алгоритмов. Это могло бы быть немного к основному, но это был очень иллюстрирующий пример.
Краткое введение, которое я записал давным-давно, доступно здесь , но лучшее краткое введение здесь .
Для большего и всестороннего, хотя несколько устаревший, список ресурсов посещает comp.ai.genetic FAQ.
Если я могу включить одну из своих любимых книг, , Руководство по проектированию Алгоритма Steve Skiena имеет большой раздел по генетическим алгоритмам (плюс большая другая интересная эвристика для решения различных типов проблем).
Вот недавняя статья Roger Alsing о создании "изображения Моны Лизы" с генетическим алгоритмом: http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/
Отредактированный для удаления горячей ссылки на изображение Видит: http://rogeralsing.files.wordpress.com/2008/12/evolutionofmonalisa1.gif
я реализовал свою собственную версию этого алгоритма:
(источник: tumblr.com )
См. http://plindenbaum.blogspot.com/2008/12/random-notes-2008-12.html
Существует большое введение в генетические алгоритмы в AI-Junkie.com , а также учебные руководства на многих другой AI и методы машинного обучения. Учебное руководство по генетическим алгоритмам нацелено к тому, 'объясните генетические алгоритмы достаточно, чтобы Вы смогли использовать их в своих собственных проектах' при подавлении математики как можно больше.
Это - хорошая бесплатная книга на предмете
http://www.lulu.com/items/volume_63/2167000/2167025/2/print/book.pdf
Я нашел книгу Melanie Mitchell, Введение в Генетические алгоритмы , чтобы быть очень хорошим. Для более широкого покрытия эволюционных тем вычисления Введение в Эволюционные Вычисления Eiben и Smith также стоит.
, Если Вы только начинаете, я недавно записал вводная статья , которая может быть полезной.
существуют дальнейшие ссылки и в той статье и также на домашняя страница для моей эволюционной платформы вычисления.
Я знаю, что это старый вопрос, но ответ еще не принят, поэтому я подумал, что добавлю свой вклад. На мой взгляд, одним из лучших бесплатных ресурсов по всем вопросам, связанным с эволюционными вычислениями (генетические алгоритмы, стратегии эволюции, генетическое программирование и т. Д.), Является онлайн-книга Шона Люка Основы метаэвристики .