Часто я использую данные, вытекающие из базы данных SQL в R. Обычно я много занимаюсь жонглированием в SQL, но все чаще и чаще пользуясь plyr
, я задавался вопросом, проще ли в R разбить матрицу на реляционные данные?Таблица.Вот пример.
У меня есть таблица типа
id question answer
1 6 10
1 4 1
1 5 2003
3 6 2
#reproduce it with dput output:
structure(list(result = c(1, 1, 1, 3), question = c(6, 4, 5,
6), answer = c("10", "1", "2003", "2")), .Names = c("id",
"question", "answer"), row.names = c("1", "2", "3", "4"), class = "data.frame")
, и я хотел бы расположить ее как ненормализованную матрицу:
id question.6 question.4 question.5
1 10 1 2003
3 2
и т. Д. Я исправил это вSQL использует синтаксис CASE WHEN
, но не может сделать это в R, например, так:
Select min((case when (question_id` = 6)
then answer end)) AS `question.6`