qplot: только графические узлы ниже порога - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь сделать визуальный график матрицы различий. Используя этот сайт, я столкнулся с функцией qgraph из пакета qgraph. Используя флаг threshold, я могу удалить ребра из моей сети выше указанного числового значения. Это прекрасно работает, однако, что если я хочу отображать значения ниже определенного порога, а не выше?

Для этого я вернулся на этот сайт и прочитал здесь: Как отобразить почти нулевые значения с помощью qgraph? , чтобы использовать для этой цели флаг cut. Однако, как говорится в ответе, этот флаг будет «регулировать насыщенность только так, чтобы все, что находится выше точки среза, имело самую сильную интенсивность цвета, а что-либо ниже точки среза, насыщенность становится слабее».

То, что я хотел бы сделать, это построить только линии между , которые ниже моего значения среза (или порога), а не что-либо еще.

Вот некоторые воспроизводимые данные:

Dist <- data.frame(Sample_1 = c(0.0, 0.245, 0.191, 0.78, 0.5),  
               Sample_2 = c(0.3, 0.0, 0.2, 0.99, 0.6), 
               Sample_3 = c(0.65, 0.45, 0.0, 0.05, 0.8), 
               Sample_4 = c(0.45, 0.06, 0.88, 0.0, 0.7), 
               Sample_5 = c(0.11, 0.79, 0.66, 0.37, 0.0), 
              row.names = c("Sample_1", "Sample_2", "Sample_3", "Sample_4", "Sample_5"))

Построение графика:

qgraph(Dist, layout = "circle", vsize = 5, color = c("cyan", "yellow", "pink", "green3", "gray"), labels = c("Sample_1", "Sample_2", "Sample_3", "Sample_4", "Sample_5"), label.cex = 3, cut = 0.2)

Как вы можете видеть, все, что выше среза = 0,2, также построено и темнее , enter image description here

Мне бы хотелось, чтобы на графике отображались только значения ниже порога 0,2. Есть ли способ сделать это?

Спасибо.

1 Ответ

1 голос
/ 04 апреля 2020

qgraph, похоже, не способен обрезать ниже порогового значения, поэтому мы должны манипулировать входными данными.

Замена значений выше threshold на 0 или NA должна сделай это. Использование NA приводит к тому же выводу, но с предупреждением.

Dist <- data.frame(
  Sample_1 = c(0.0, 0.245, 0.191, 0.78, 0.5),
  Sample_2 = c(0.3, 0.0, 0.2, 0.99, 0.6),
  Sample_3 = c(0.65, 0.45, 0.0, 0.05, 0.8),
  Sample_4 = c(0.45, 0.06, 0.88, 0.0, 0.7),
  Sample_5 = c(0.11, 0.79, 0.66, 0.37, 0.0),
  row.names = c("Sample_1", "Sample_2", "Sample_3", "Sample_4", "Sample_5")
)

library(qgraph)

qgraph(
  replace(Dist, Dist > 0.2, 0),
  layout = "circle",
  vsize = 5,
  color = c("cyan", "yellow", "pink", "green3", "gray"),
  labels = c("Sample_1", "Sample_2", "Sample_3", "Sample_4", "Sample_5"),
  label.cex = 3
)

Создано в 2020-04-06 пакетом Представить (v0.3.0)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...