У меня есть таблица, которая выглядит так:
ID Survival Event Allele
2 5 1 WildType
2 0 1 WildType
3 3 1 WildType
4 38 0 Variant
Я хочу составить заговор каплан-мейера и сказать мне, имеют ли дикие разновидности или разновидности тенденцию к выживанию дольше.
У меня есть такой код:
library(survival)
Table <-read.table("Table1",header=T)
fit=survfit(Surv(Table$Survival,Table$Event)~Table$Allele)
plot(fit,lty=2:3,col=3:4)
По подходящему значению p я могу видеть, что выживаемость этих двух групп имеет существенно разные кривые выживаемости.
survdiff(formula = Surv(dat$Death, dat$Event) ~ dat$Allele, rho = 0)
# N Observed Expected (O-E)^2/E (O-E)^2/V
# dat$Allele=Variant 5592 3400 3503 3.00 8.63
# dat$Allele=WildType 3232 2056 1953 5.39 8.63
# Chisq= 8.6 on 1 degrees of freedom, p= 0.0033
Сюжет выглядит ожидаемым (т.е. две кривые).
Все, что я хочу сделать, это поставить легенду на график, чтобы я мог видеть, какие данные представлены черной и красной линиями, т.е. выживают ли дикий тип или вариант дольше.
Я пробовал эти две команды:
lab <-gsub("x=","",names(fit$strata))
legend("top",legend=lab,col=3:4,lty=2:3,horiz=FALSE,bty='n')
Первая команда работает (т.е. ошибки нет). Вторая команда, я получаю эту ошибку:
Ошибка в strwidth (legend, units = "user", cex = cex, font = text.font): plot.new еще не был вызван
Я пробовал читать форумы и т. Д., Но, похоже, ни один из ответов у меня не работает (например, переключение между верхним / верхним / верхним левым и т.д. не имеет значения).
Изменить 1: это пример таблицы, для которой я получаю эту ошибку:
ID Survival Event Allele
25808 5 1 WTHomo
22196 0 1 Variant
22518 3 1 Variant
25013 38 0 Variant
27354 5 1 Variant
27223 4 1 Variant
22700 5 1 Variant
22390 24 1 Variant
17586 1 1 Variant
Что именно происходит: когда я набираю самую последнюю команду (легенда ("верх", легенда = лаборатория, col = 3: 4, lty = 2: 3, горизонт = FALSE, bty = 'n')), окно XII открывается, за исключением того, что он полностью пустой.
Но затем, если вы просто наберете «plot (fit, lty = 2: 3, col = 3: 4)», появится окно XII и график.
Изменить 2: Кроме того, этот график будет иметь две строки, как мне определить, какая строка является какой переменной? Самый простой способ сделать это - ввести summary (fit), которая дает мне две таблицы. Затем, какая бы переменная ни была первой в таблице, я поставил первой в легенде?
Большое спасибо Ева