Прежде чем я начну, я должен был никогда не использовать R до вчерашнего дня, я знаю только немного Python и я очень начинающий. Я использую R, потому что не могу понять, как сделать что-то в Excel, и уже добился большего прогресса в R.
Так что у меня, казалось бы, уникальная проблема, которую я пытаюсь решить. У меня есть набор данных, который выглядит примерно так:
ID Contaminant
1 123 Lead
2 123 Copper
3 456 Lead
4 678 Iron
5 456 Lead
6 111 Iron
7 222 Arsenic
Я хочу взять эти данные и создать из них новый файл xlsx или csv для анализа данных. Я хочу посмотреть, сколько раз в удостоверении личности было загрязнитель и что это за загрязнение. Я (думаю) я выяснил, как выяснить уникальные значения того, сколько идентификаторов связано с типом загрязнителя и сколько идентификаторов имеют уникальный загрязнитель, связанный с ними. Если это имеет смысл.
Я хочу, чтобы новый лист данных выглядел примерно так:
ID Lead Copper Iron Arsenic
123 1 2 0 0
456 2 0 0 0
678 0 0 1 0
111 0 0 1 0
222 0 0 0 0
До сих пор я выяснил, как взять мой исходный лист данных, который содержит много переменных и превратить его в первый набор данных, который я перечислил выше, который содержит только идентификаторы и загрязняющие вещества.
Мой код немного грубоват, поскольку я подражаю другим работам, но то, что я пока имею, это :
violations <- tbl_df(2015_Violations)
new_violations <- select(violations, -TypeofViolation, -"CODETypeof Vio")
with(unique(violations[c("ID","Contaminant")]), table(Contaminant))
with(unique(violations[c("ID","Contaminant")]), table(ID))
write.csv(new_violations, file = "C:/r_stuff/new_violations.csv",
row.names = F)
Это выкладывает уникальные номера загрязнителей и идентификаторы в некоторые таблицы.
Затем я использую другой файл .R для проверки этого нового файла .csv. Он просто содержит следующее:
mydata <- read.csv("C:/r_stuff/new_violations.csv")
View(mydata)
Итак, мой вопрос: как я могу взять свои данные в первой таблице и превратить их в новый файл со структурой второй? Я предполагаю, что это не очень простая задача, но выполнить ее вручную будет невозможно, поскольку в исходном файле данных есть тысячи записей.