2012-05-15 4 views
0

Я был с ним некоторое время с этим. Надеюсь, один из вас может мне помочь. У меня большая матрица: 122 строки и 6005 столбцов. В одном столбце [, 1] перечислены коды товаров. В этой колонке 25 практических испытаний, от которых я хочу избавиться. Я попытался использовать этот код:Удаление значений столбцов в матрице

x1=nw[,1][-c(1:25), 1:6005] 

Но он вызывает неправильную ошибку измерения. Если я изолирую этот столбец, я получаю результаты, которые я хочу. Почему это не обобщается на всю матрицу? Любая помощь приветствуется.

ответ

0

Вы не можете просто удалить значения из матрицы, поскольку она имеет заданное измерение (количество строк x число столбцов). Вместо этого попробуйте заменить значения отсутствующими значениями (NA).

nw <- matrix(rnorm(122*6005, 5, 1), nrow = 122, ncol = 6005) 
nw[,1][1:25] <- NA 
nw[,1:4] 

Затем вы можете рассматривать функции NA с функциями na.omit/na.rm. Например

mean(nw[,1], na.rm = T) 
+0

Спасибо за ответ на мой пост. После того, как я опубликовал это, я вернулся к своему коду и придумал что-то подобное. –

1

Deos это поможет решить проблему,

m <- matrix(1:732610, 122 , 6005) 
z <- m[-c(1:25),-1] 
Смежные вопросы