2013-10-08 4 views
0

Я запускаю (по крайней мере, пытаюсь) пробоотборник гиббсов в R и у меня возникают проблемы с просмотром данных.Проблема с просмотром данных

Я использую R Studio,

Для справки вот мой код:

###Step 2 
###Draw from truncated normal 
for(i in 1:length(cens.list[,1])){ 

    row.i <- as.numeric(cens.list[i,1]) 

    mu.i <- as.numeric(x.mat[row.i,] %*% beta) 

    bio.set[row.i,var.name] <- rtnorm(1,mean=mu.i,sd=sqrt(var),lower=-Inf,upper=dl) 
} 

test <- bio.set[which(row.names(bio.set) %in% cens.list[,1]),] 

bio.set содержит мою переменную Я пытаюсь приписывать и другую информацию

cens.list содержит списка значений цензуры, подлежащих вменению, и соответствующей им информации о строках.

dl - предел обнаружения. Наблюдения вменяется отсутствуют из-за падения ниже этого значения

Вопрос: При попытке просмотреть данные (с использованием View() или edit()) вмененные значения показывают, что все то же самое число (предел обнаружения). Это происходит независимо от того, просматриваю ли я их через кадр тестовых данных или сам bio.set.

Однако, если просмотреть значения по отдельности, набрав

bio.set[995,var.name] #Where I set the row number to be one of the imputed rows. 

Он показывает мне правильно нарисованные значения.

Могу ли я продолжить, полагая, что данные правильно сохранены, и это проблема только для зрителя? Или что-то я делаю неправильно?

+3

Количество возможных источников ошибок остается большим. Отправьте пример, который определяет все параметры, которые в настоящее время не указаны. –

+0

Здравствуйте и добро пожаловать в SO. Чтобы сделать воспроизводимый пример, вы можете использовать 'reproduce ()'. Инструкции приведены здесь: http://bit.ly/SORepro - [Как сделать отличный R-воспроизводимый пример] (http://bit.ly/SORepro) –

+0

Опубликовать обновление в качестве решения и принять его, я бы предложил, что другие видят, что это закрытый вопрос. Таким образом, он более полезен для сообщества. – alap

ответ

0

Спасибо за ответы. Я работал над созданием воспроизводимого примера, когда я выяснял, в чем моя проблема.

В основном произошло то, что cens.list содержит номера строк значений, подлежащих вменению. После его создания некоторые строки удаляются по какой-либо причине, но предыдущие номера строк сохраняются по R

В коде, который я представил, вы можете видеть внутри цикла. Я ссылаюсь на номер строки, относящийся к текущему состоянию dataframe, а не row.names.

Чтобы исправить это, я собираюсь использовать переменную id, как и следовало бы делать все это время.

В будущих вопросах я буду следить за тем, чтобы мой код был воспроизводимым.

Смежные вопросы