Как использовать функции princomp() или prcomp() в R с большими наборами данных, не размещая данные?
Я только начал знать PCA, и я хочу использовать его для огромного набора данных микрочипов с более чем 4 000 000 строк. У меня есть столбцы в виде образцов, а строки в виде генов / локусов. Я прошел некоторые уроки по использованию PCA и наткнулся на princomp() и prcomp() и несколько других.
Теперь, когда я узнал здесь, что для построения "образцов" в биплоте мне нужно иметь их в строках и гены / локусы в столбцах, и, следовательно, мне придется транспонировать свои данные, прежде чем использовать их для PCA.
Однако, поскольку строк больше, чем 4 000 000, я не могу переставить их в столбцы, потому что столбцы ограничены. Поэтому мой вопрос заключается в том, есть ли способ выполнить PCA для моих данных, не транспонируя их, используя эти функции R? Если нет, может ли кто-нибудь из вас предложить мне другой способ или способ сделать это?
1 ответ
Почему вы ненавидите транспонировать ваши данные? Это просто!
Если вы читаете ваши данные в R (например, как матрица microarray.data
) вы можете транспонировать их просто командой:
transposed.microarray.data<-t(microarray.data)