еще раз прошу прощения, если это тривиальный вопрос. Я все еще плохо знаком с R, но я полон решимости учиться. У меня есть один оригинальный файл .csv (назовем его Original.Data), с которым я работаю. Я в основном реорганизую эту таблицу. Я беру каждую строку и превращаю ее в столбец, а затем складываю каждую строку как столбцы друг под другом, используя bind_rows.
Я создал код, необходимый для организации первого ряда так, как я хотел. Теперь я пытаюсь создать цикл, чтобы сделать это для всех строк в оригинале. Вот код, который я создал:
Строки 1: 3, в основном, заголовки и в конечном итоге удаляются, но еще не потому, что служат первоначальной цели. Для окончательной электронной таблицы необходим только ряд 5.
New.Data <-data.frame(t(Original.Data[c(1:3,5),]))
colnames(New.Data) <-c("patid","Day","Week","SD")
New.Data[,1] <- New.Data[1,4]
New.Data$Day <- as.numeric(as.character(New.Data$Day))
New.Data$SD <- as.numeric(as.character(New.Data$SD))
New.Data$Week <- as.numeric(as.character(New.Data$Week))
New.Data <- New.Data[ which(New.Data$Day<=New.Data[3,4]),]
В этой последней строке создается базовая электронная таблица, куда я переношу все данные. «База» уже была создана ранее.
Final.Base <-bind_rows(Base,New.Data)
Моя идея заключается в том, чтобы сделать что-то вроде, например, именования New.Data в качестве New.Data1 и создания цикла, создающего несколько New.Data для каждой строки и в основном связывающего их все в Final.Base. Таким образом, строка 1 (или строка 5 на самом деле) создается в New.Data 1, а строка 2 - в New.Data 2 и т. Д.
Также в моей первой строке кода:
New.Data <-data.frame(t(Original.Data[c(1:3,5),]))
Единственное, что, по моему мнению, нужно изменить, - это последнее число "5". Это должно было бы увеличиться на один в каждой итерации цикла.
Спасибо за вашу помощь.