У меня есть два списка:
head(x)
[[1]] 30.0 28.9 28.9
[[2]] 29.4 29.4 29.4
[[3]] 27.2 28.3
[[4]] 27.8 30.0 27.2 28.3 28.9 28.3 27.8
head(y)
[[1]] 28.9 28.9
[[2]] 29.4
[[3]] 28.9 30.0 27.2 28.3
[[4]] 27.2 28.3 28.9 28.3 27.8
x и y имеют одинаковую длину, но для каждой записи списка ([[1]], [[2]]] и т.д.) количество элементов может меняться.
Я могу делать полевые диаграммы x и y отдельно
boxplot(x)
boxplot(y)
но как я могу сделать окно с их разницей (для каждой записи списка у меня есть среднее значение, sd и т.д. и т.д. для различий в средствах)?
Большое спасибо,
Поэтому, если ваши данные выглядят так
x<-list(
c(30.0, 28.9, 28.9 ),
c(29.4, 29.4, 29.4 ),
c(27.2, 28.3 ),
c(27.8, 30.0, 27.2, 28.3, 28.9, 28.3, 27.8 )
)
y<-list(
c(28.9, 28.9 ),
c(29.4 ),
c(28.9, 30.0, 27.2, 28.3 ),
c(27.2, 28.3, 28.9, 28.3, 27.8 )
)
Затем вы можете сделать квадратный график разницы между наборами с
boxplot(mapply(function(x,y) {mean(x)-mean(y)}, x, y))
Конечно, у этого будет только один boxplot, потому что каждая из 4 групп будет иметь только одно различие в среднем. Разница в средствах в наблюдаемых образцах – одно значение. Он сам не имеет среднего или стандартного отклонения. Это связано с тем, что вы не можете рассчитать парную разницу в списках, потому что вектор чисел в каждом наборе отличается.