2017-02-03 2 views
2

Мне нужно взять следующий фрейм данных и создать матрицу 3x3 со всеми попарно продуктами переменной prop. Вот данные, я начинаю с ...Создание матрицы попарного произведения в R

> example 
    Parasite  prop 
1 Hel_1.1 0.06818182 
2 Hel_11 0.18181818 
3 Hel_13 0.02272727 

> dput(example) 
structure(list(Parasite = structure(1:3, .Label = c("Hel_1.1", 
"Hel_11", "Hel_13", "Hel_14", "Hel_2", "Hel_3", "Hel_4", "Hel_4.5", 
"Hel_5", "Hel_6", "Hel_7", "Hel_9", "Pro_1", "Pro_2", "Hel_1.4" 
), class = "factor"), prop = c(0.0681818181818182, 0.181818181818182, 
0.0227272727272727)), .Names = c("Parasite", "prop"), row.names = c(NA, 
3L), class = "data.frame") 

Я хотел бы получить матрицу, которая выглядит следующим образом (Попарные значения продукта немного, потому что я вычислен их вручную без округления равномерно)

  Hel_1.1 Hel_11 Hel_13 
Hel_1.1 .0046  .0122  .0015 
Hel_11 .0122  .0324  .0039 
Hel_13 .0015  .0039  .0004 

Я хотел бы получить любую помощь.

ответ

2

Вы можете попробовать это:

prop <- example$prop 
names(prop) <- example$Parasite 
prop %o% prop 
#   Hel_1.1  Hel_11  Hel_13 
#Hel_1.1 0.004648760 0..0015495868 
#Hel_11 0..033057851 0.0041322314 
#Hel_13 0.001549587 0.004132231 0.0005165289 
Смежные вопросы