У меня есть 2 вектора, и я хочу создать таблицу, которая сравнивает ожидаемое значение и дисперсию (гамма-распределения).
a <- c(0.1,0.5,1,2,5,10,100)
b <- c(0.1,0.5,1,2,5,10,100)
q3 <- matrix(NA,
nrow=7,
ncol=7,
dimnames=list(
(colnames=a),
(rownames=b)
)
)
for(m in 1:7)
{
for(n in 1:7)
{
q3[m,n]<-paste((a[m]/b[n]),(a[m]/b[n]^2))
}
}
as.data.frame(q3)
Это дает
0.1 0.5 1 2 5 10 100
0.1 1 10 0.2 0.4 0.1 0.1 0.05 0.025 0.02 0.004 0.01 0.001 0.001 1e-05
0.5 5 50 1 2 0.5 0.5 0.25 0.125 0.1 0.02 0.05 0.005 0.005 5e-05
1 10 100 2 4 1 1 0.5 0.25 0.2 0.04 0.1 0.01 0.01 1e-04
2 20 200 4 8 2 2 1 0.5 0.4 0.08 0.2 0.02 0.02 2e-04
5 50 500 10 20 5 5 2.5 1.25 1 0.2 0.5 0.05 0.05 5e-04
10 100 1000 20 40 10 10 5 2.5 2 0.4 1 0.1 0.1 0.001
100 1000 10000 200 400 100 100 50 25 20 4 10 1 1 0.01
Я хотел пометить каждый столбец внутри столбцов как E (x) и Var (x), сохраняя при этом имена столбцов, я не конечно, если это действительно возможно, или если я просто выберу другой подход. edit:
E(x)V(x)0.1 E(x)V(x)0.5 E(x)V(x)1 E(x)V(x)2 E(x)V(x)5 E(x)V(x)10 E(x)V(x)100
0.1 1 10 0.2 0.4 0.1 0.1 0.05 0.025 0.02 0.004 0.01 0.001 0.001 1e-05
0.5 5 50 1 2 0.5 0.5 0.25 0.125 0.1 0.02 0.05 0.005 0.005 5e-05
1 10 100 2 4 1 1 0.5 0.25 0.2 0.04 0.1 0.01 0.01 1e-04
2 20 200 4 8 2 2 1 0.5 0.4 0.08 0.2 0.02 0.02 2e-04
5 50 500 10 20 5 5 2.5 1.25 1 0.2 0.5 0.05 0.05 5e-04
10 100 1000 20 40 10 10 5 2.5 2 0.4 1 0.1 0.1 0.001
100 1000 10000 200 400 100 100 50 25 20 4 10 1 1 0.01
Вот как бы я хотел, чтобы это выглядело, я знаю, что могу просто изменить имена столбцов, но я хочу, чтобы каждый столбец был назначен E (x) et c.
Нужно ли создавать фрейм данных с вдвое большим количеством столбцов?