У меня есть набор данных, содержащий масштабированное значение экспрессии тысяч генов из образцов, выделенных с использованием двух разных пробирок. Я хотел сделать некоторые вычисления на этом наборе данных https://www.sendspace.com/file/4ebpk3, используя эти две функции, и построить результат:
#Create a function to calculate molecular distance
mol.distance <- function(df, grp){
x = df[grp]
x = as.numeric(x)
y = as.numeric(df)
mean.x = mean(x)
difference = y - mean.x
}
#Create a function to calculate median difference
med.diff <- function(df){
x = as.numeric(df)
result = median(x)
}
Идея в том, что сначала я вычисляю расстояние по первой формуле. Затем, используя вторую формулу, было вычислено медианное значение расстояний от каждой выборки. Затем эти медианные значения были нанесены на график в geom_bar.
`#Calculating molecular distance
distance <- apply(clean.merged, 1, mol.distance, grp = (1:40))
rownames(distance) <- colnames(clean.merged)
med.distance <- apply(distance, 1, med.diff)
med.distance <- round(med.distance, digits = 4)
distance1 <- cbind(med.distance, samp.name, iso.tube)
colnames(distance1) <- c('Molecular_Distance', 'Sample_Name', 'Isolation_Tube')
#Plot the result
dist.plot <- ggplot(as.data.frame(distance1), aes(Sample_Name, Molecular_Distance))
dist.plot + geom_bar(stat = 'identity', aes(fill = Isolation_Tube)) +
ggtitle('Molecular Distance') + coord_flip()`
Как и ожидалось, результат колеблется около нуля со смешанными положительными и отрицательными значениями. Однако, когда я построил результат в виде столбчатой диаграммы, он выглядел так: Как выглядит мой столбчатый график
Между тем, я ожидал чего-то более похожего: Как я этого ожидал выглядит как
Я новичок в программировании, поэтому не знаю, где я напортачил. Пожалуйста, дайте мне знать, что вы думаете. Спасибо.