У меня есть файл с именем rRna_RDP_taxonomy_phylum со следующими данными:R ошибка «сумма не имеет смысла для факторов»
364 "Firmicutes" 39.31
244 "Proteobacteria" 26.35
218 "Actinobacteria" 23.54
65 "Bacteroidetes" 7.02
22 "Fusobacteria" 2.38
6 "Thermotogae" 0.65
3 unclassified_Bacteria 0.32
2 "Spirochaetes" 0.22
1 "Tenericutes" 0.11
1 Cyanobacteria 0.11
И я использую этот код для создания круговой диаграммы в R:
if(file.exists("rRna_RDP_taxonomy_phylum")){
family <- read.table ("rRna_RDP_taxonomy_phylum", sep="\t")
piedat <- rbind(family[1:7, ],
as.data.frame(t(c(sum(family[8:nrow(family),1]),
"Others",
sum(family[8:nrow(family),3])))))
png(file="../graph/RDP_phylum_low.png", width=600, height=550, res=75)
pie(as.numeric(piedat$V3), labels=piedat$V3, clockwise=TRUE, col=graph_col, main="More representative Phyliums")
legend("topright", legend=piedat$V2, cex=0.8, fill=graph_col)
dev.off()
png(file="../graph/RDP_phylm_high.png", width=1300, height=850, res=75)
pie(as.numeric(piedat$V3), labels=piedat$V3, clockwise=TRUE, col=graph_col, main="More representative Phyliums")
legend("topright", legend=piedat$V2, cex=0.8, fill=graph_col)
dev.off()
}
Я использую этот код для разных файлов данных, и она работает нормально, но с файлом представил саман его зависание возвращенного следующее сообщение:
Error in Summary.factor(c(6L, 2L, 1L), na.rm = FALSE) :
sum not meaningful for factors
Calls: rbind -> as.data.frame -> t -> Summary.factor
Execution halted
Мне нужно понять, почему он сбой с этим файлом и если есть какой-либо способ предотвратить подобные ошибки.
Спасибо!
'sum (factor (1))' воспроизводит ошибку. Но почему у вас есть факторы в этом data.frame, а не в других? Как вы читаете свои данные? – agstudy
@smci Пожалуйста, не используйте тег [factor] для факторов в R. –
@MatthewLundberg: gotcha, не знал. Я должен переложить кучу вещей. Поскольку язык факторов менее популярен, чем фактор R, я думаю, что он должен иметь тег [tag: factor-language]. Я подниму это на Мета. – smci