从R中的数字序列绘制小波相干性

h7appiyu  于 2023-09-27  发布在  其他
关注(0)|答案(1)|浏览(70)

我在一个文本文件中有多个数字序列,每个序列由数字1到8组成。序列中的数字由空格分隔,而每个新序列都带有一个换行符。
数据:可以假设文本文件“Sequences.txt”具有以下4个序列(可能有不同长度):
6 6 3 8 3 2 8 6 1 7 3 7 6 8 2 8 2 6 8 8 1 1 4 3 6 4 3 4 6 7
6 1 8 7 8 1 2 6 8 3 4 3 5 4 2 2 1 1 1 4 5 5 4 5 5 5 7 7 4 4 3 2 8 7 7
4 5 5 7 7 3 7 8 7 8 2 2 8 2 8 1 1 1 7 7 7 4 4 4
1 4 4 1 1 8 8 1 8 1 1 1 1 5 5 6 6 7 3 3 8 2 3 4 3 8 3 4 5 4 5 2 3 5 7
我需要的是一个图中所示的那种使用R。这里,每个序列排列成一行,并且序列一个在另一个下面堆叠。

从文献上看,它看起来像一个小波图,虽然我不确定。
可以真正使用帮助与此任务(已经尝试了几个包,包括biwelet,sowas)。我没有在这里展示我的尝试,因为我已经在另一个问题中发布了。使用R 4.2.1.

isr3a4wc

isr3a4wc1#

数据中似乎没有太多的模式,但您可以提取并绘制它,如下所示:

library(tidyverse)

readLines("Sequences.txt") %>%
  strsplit(" ") %>%
  lapply(as.numeric) %>%
  lapply(\(x) c(x, rep(NA, max(lengths(.)) - length(x)))) %>%
  as.data.frame() %>%
  setNames(seq_along(.)) %>%
  cbind(x = seq(nrow(.))) %>%
  pivot_longer(-x, names_to = "y", values_to = "z") %>%
  mutate(y = max(as.numeric(y)) - as.numeric(y) + 1) %>%
  ggplot(aes(x, y, fill = z)) +
  geom_raster() +
  scale_fill_distiller(palette = "Spectral", na.value = "white")

这张图片基本上只是向您展示了如果您缩小并将每个数字替换为颜色时文件的外观。

相关问题