Нижний индекс вне границ в корреляционной матрице

Я работаю над корреляционной матрицей (corm) из 606 столбцов на 606 строк, и у меня есть переменная с именем (X), которая содержит имена некоторых столбцов. Я хочу выбрать эти столбцы из (corm).

> print(X)
 [1] "VL"         "IM"         "2_EA"    "Av"       
 [5] "Cit"        "Wap"        "Rp"      "R"      
 [9] "H2e"        "Wp"         "As"      "2"        
 [13] "HS"        "Wep"        "W"       "p"       

Применяю следующую команду

corm2 <- corm[,X]

и я получаю это:

Error: subscript out of bounds

Есть какие-нибудь подсказки, что здесь происходит не так?


person Error404    schedule 14.01.2013    source источник
comment
все (X% в% dimnames (corm) [[2]])?   -  person themel    schedule 14.01.2013
comment
ЛОЖЬ, что это значит? : D   -  person Error404    schedule 14.01.2013
comment
Некоторые имена в X не отображаются как имена столбцов вашей corm матрицы. Возможно опечатка. Запустите setdiff(X, colnames(corm)), чтобы узнать, какие.   -  person flodel    schedule 14.01.2013
comment
Флодель благодарит команду. Да, я нашел те, которые не совпадают. Я поищу причину, по которой они изменились. Мне также нужно проверить, решена ли проблема после редактирования имен в переменной X.   -  person Error404    schedule 14.01.2013
comment
Проблема решена, ошибка больше не появляется. Спасибо, Арун и Флодель.   -  person Error404    schedule 14.01.2013


Ответы (1)


Превращаем этот комментарий в ответ:

Error: subscript out of bounds происходит потому, что некоторые имена в X не являются именами столбцов в вашей corm матрице. Другими словами, вы пытаетесь извлечь несуществующие столбцы, отсюда и сообщение об ошибке.

Вероятно, это из-за опечатки. Вы можете запустить setdiff(X, colnames(corm)), чтобы узнать виновных.

person flodel    schedule 14.01.2013