2016-04-19 3 views
0

Я собираюсь очистить некоторые данные для анализа выживаемости, и я стараюсь сделать так, чтобы у индивида был только один устойчивый переход от присутствующего симптома (ss = 1) до симптом переводится (ss = 0). Человек должен иметь полную пролонгированную ремиссию, чтобы она могла считаться ремиссией. Статистические проблемы/проблемы в сторону, мне интересно, как я могу заняться рассмотрением вопросов, описанных ниже.Очистка данных для анализа выживаемости

Я пытаюсь разбить проблему на более мелкие, более управляемые операции и объекты, однако решения, которые я продолжаю использовать, вынуждают меня использовать условное форматирование на основе строк непосредственно выше и ниже отсутствующего значения и, откровенно говоря, я немного потерял, как это сделать. Мне хотелось бы немного руководства, если вы думаете, что знаете хорошую технику, которую я могу использовать, экспериментировать, или если вы знаете какие-либо хорошие условия поиска, которые я могу использовать при поиске решения.

Подробности ниже:

#Fake dataset creation 
id <- c(1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,4,4,4) 
time <-c(0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6) 
ss <- c(1,1,1,1,NA,0,0,1,1,0,NA,0,0,0,1,1,1,1,1,1,NA,1,1,0,NA,NA,0,0) 
mydat <- data.frame(id, time, ss) 

* Жирный и подчеркнутый символы представляют изменения из набора данных выше

Цель здесь состоит, чтобы найти способ, чтобы получить значения НС для ID # 1 (переменная сс), чтобы выглядеть следующим образом: 1,1,1,1, , 0,0

ID # 2 (переменные сс), чтобы выглядеть следующим образом: 1,1,0, , 0,0,0

ID # 3 (переменная ss) выглядит так: 1,1,1,1,1,1, NA (без изменений, поскольку строка с NA будет удалена в конечном счете)

ID # 4 (переменные сс), чтобы выглядеть следующим образом: 1,1, , , , 0,0 (это одна требуют многократных изменений и Я ожидаю, что это будет наиболее сложной задачей).

+0

Является ли рабочее определение _sustained_ с точки зрения времени, а не позднее свидетельство рецидива? Будем ли мы исключать время наблюдения за случаем, чья ремиссия была выше, чем время от установленного риска? –

+0

Выдерживается в этом случае означает, что человек якобы был свободным от симптомов (ss = 0) через последний момент времени. Отсутствующие данные, конечно, бросают ключ в шестерни, но пока что, я заинтересован в разработке кода для выполнения задачи, изложенной выше. –

+0

Я предполагаю, что это анализ анализируемого рака с вероятным фатальным (или дорогостоящим) результатом рецидива. Я бы отбросил термин «устойчивый», поскольку «выживание» настолько смешано с временем наблюдения, а время при t = 1 рассматривается на том же основании, что и время при t = 10. Вместо этого обратитесь к выживанию без рецидива. Это уже довольно запутанная статистика, поскольку событие принципиального значения (смерть от других причин) было пересмотрено как процесс цензуры. –

ответ

0

На самом деле, я не думаю, что вы рассмотрели все «краевые дела». Что делать с двумя NA в строке в конце периода или 4 или 5 NA в строке. Это даст вам запрашиваемую решение в вашем крошечном теста, однако, используя na.locf -функции:

require(zoo) 
fillNA <- function(vec) { if (is.na(tail(vec, 1))){ vec } else { vec <- na.locf(vec) } 
         } 

> mydat$locf <- with(mydat, ave(ss, id, FUN=fillNA)) 
> mydat 
    id time ss locf 
1 1 0 1 1 
2 1 1 1 1 
3 1 2 1 1 
4 1 3 1 1 
5 1 4 NA 1 
6 1 5 0 0 
7 1 6 0 0 
8 2 0 1 1 
9 2 1 1 1 
10 2 2 0 0 
11 2 3 NA 0 
12 2 4 0 0 
13 2 5 0 0 
14 2 6 0 0 
15 3 0 1 1 
16 3 1 1 1 
17 3 2 1 1 
18 3 3 1 1 
19 3 4 1 1 
20 3 5 1 1 
21 3 6 NA NA 
22 4 0 1 1 
23 4 1 1 1 
24 4 2 0 0 
25 4 3 NA 0 
26 4 4 NA 0 
27 4 5 0 0 
28 4 6 0 0 
+0

Благодарим вас за ответ. Решает, именно, проблему, с которой я боролся. –

+0

Вы были невероятно полезны в прошлом, и поэтому я задавался вопросом, можете ли вы получить представление о следующем (слегка) измененном вопросе: http://stackoverflow.com/questions/41251553/data-cleaning-for-survival- анализ, используя-а-участники-собственных данных к вменить-валин –

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

  • Нет связанных вопросов^_^