У меня очень большой набор данных, поэтому я хочу избежать циклов.Заполнить матрицу значениями столбцов в R, используя имена и имена ростов
У меня есть три колонки данных:
col1 = время представлено как 10000, 10001, 10002, 10100, 10101, 10102, 10200 , 10201, 10202, 10300, ... (всего 18000 раз)
col2 = идентификационный номер 1 2 3 4 ... (всего 500 идентификаторов)
col3 = чтение связано с определенным идентификатором в конкретный момент времени. 0,1 0,5 0,6 0,7 ... Скажем это называется Data3
10000 1 0,1
10001 1 0,5
10002 1 0,6
10100 1 0.7
10200 1 0,6 (Примечание - некоторые случайные записи отсутствуют)
Я хочу представить это как матрицу (так называемый DataMatrix), но отсутствуют данные, поэтому простое изменение не будет выполнено. Я хочу иметь недостающие данные в качестве записей NA.
В настоящее время DataMatrix представляет собой матрицу NA из 500 столбцов и 18000 строк, где имена строк и имена столбцов являются соответственно временем и идентификаторами.
1 2 3 4 ....
10000 NA NA NA NA ....
10001 NA NA NA NA ....
Есть ли способ Я могу заставить R пройти через каждую строку Data3, завершив DataMatrix чтением Data3 [, 3], поместив его в строку и столбец матрицы, имена которых относятся к Data3 [, 1] и Data3 [, 2]. Но без петель.
Благодаря всем вам умным людям.
Почему вы говорите «отсутствуют данные, поэтому простая перестановка не будет»? Вы попробовали? Что не помогло решить проблему?Если вы предоставляете (небольшой) воспроизводимый пример, демонстрирующий условия/проблемы, которые вы ожидаете, вы, скорее всего, получите значимую помощь. – A5C1D2H2I1M1N2O1R2T1
Что относительно 'library (reshape2); DataMatrix <- dcast (Data3, col1 ~ col2, value.var = "col3") '? – lukeA
Спасибо Ананде - ты прав - игра вокруг - это, безусловно, путь вперед. Я думал, что может быть какая-то функция соответствия или поиска, о которой я не знал. Отсутствующие данные означают, что Data3 НЕ 18000 * 500 длинный, но меньше. Следовательно, перестройка катастрофы. – user3173922