Я биолог, но мне пришлось научить себя python и R, работающим в разных местах несколько лет назад. На моей нынешней работе возникла ситуация, в которой R был бы действительно полезен, и поэтому я объединил программу. Удивительно, но он делает то, что мне хотелось бы, ИСКЛЮЧИТЕЛЬНО, что графики, которые он генерирует, имеют дополнительный батон в начале. !Где эти дополнительные данные? (на графике R)
Я не ввел никаких данных, чтобы соответствовать этой первой строке:
Я надеюсь, что это какая-то простая ошибка в том, как я установил параметры сюжета. Может быть, потому, что я использую сюжет вместо boxplot? Является ли это построением заголовков? Больше беспокойства заключается в том, что при чтении и слиянии моих трех кадров данных я создаю какие-то артефактные данные, которые также повлияют на статистические тесты и сделают меня очень грустными, хотя я не вижу ничего подобного, когда я напишите матрицу в файл. Я очень благодарен за любую помощь!
Вот как он выглядит, а затем функция, которую он вызывает (в другом скрипте). (Я действительно не программист, поэтому приношу извинения, если следующий код несчастен.) Цель состоит в том, чтобы сравнить наши данные (которые находятся в столбцах 10-17 csv) со всеми данными на большом листе клинические данные по очереди. Затем, если существует значительная корреляция (значение p меньше 0,05), чтобы нарисовать две противоположные. Это дает мне быстрый способ найти, есть ли что-то, что стоит посмотреть дальше в этом большом наборе данных.
first <- read.csv(labdata)
second <- read.csv(mrntoimacskey)
third <- read.csv(imacsdata)
firsthalf<-merge(first,second)
mp <-merge(firsthalf, third, by="PATIENTIDNUMBER")
setwd(aplaceforus)
pfile2<- sprintf("%spvalues", todayis)
setwd("fulldataset")
for (m in 10:17) {
n<-m-9
pretty= pretties[n]
for (i in 1:length(colnames(mp))) {
tryCatch(sigsearchA(pfile2,mp, m, i, crayon=pretty), error= function(e)
{cat("ERROR :", conditionMessage(e), "\n")})
tryCatch(sigsearchC(pfile2,mp, m, i, crayon=pretty), error= function(e)
{cat("ERROR :", conditionMessage(e), "\n")})
}
}
sigsearchA<-function(n, mp, y, x, crayon="deepskyblue"){
#anova, plots if significant. takes name of file, name of database,
#and the count of the columns to use for x and y
stat<-oneway.test(mp[[y]]~mp[[x]])
pval<-stat[3]
heads<-colnames(mp)
a<-heads[y]
b<-heads[x]
ps<-c(a, b, pval)
write.table(ps, file=n, append= TRUE, sep =",", col.names=FALSE)
feedback<- paste(c("Added", b, "to", n), collapse=" ")
if (pval <= 0.05 & pval>0) {
#horizontal lables
callit<-paste(c(a,b,".pdf"), collapse="")
val<-sprintf("p=%.5f", pval)
pdf(callit)
plot(mp[[x]], mp[[y]], ylab=a, main=b, col=crayon)
mtext(val, adj=1)
dev.off()
#with vertical lables, in case of many groups
callit<-paste(c(a,b,"V.pdf"), collapse="")
pdf(callit)
plot(mp[[x]], mp[[y]], ylab=a, main=b,las=2,cex.axis=0.7, col=crayon)
mtext(val, adj=1)
dev.off()
}
print(feedback) }
graphics.off()
Может быть, есть некоторые 'значения NA'? – ytk
Добро пожаловать в переполнение стека! Можете ли вы включить данные, которые предоставят нам [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)? –
Несколько наборов имеют значения NA. будут ли они безостановочными? – labrat