用值子集R中的距离矩阵

南希

我有一个非常大的距离矩阵(3678 x 3678),目前被编码为数据帧。列名为“ 1”,“ 2”,“ 3”,依此类推,行相同。因此,我需要做的是找到小于26且与0不同的值,并将结果存储在具有两列的第二个数据帧中:第一个具有索引,第二个具有值。例如:

            value
318-516   22.70601
... 

其中318是行索引,而516是列索引。

莫里茨·施瓦兹(Moritz Schwarz)

好的,我正在尝试重新创建您的情况(请注意:如果可以的话,用dput命令包含几行数据总是有帮助的)。

您应该能够使用filter和一些简单的tidyverse命令(如果您不知道它们如何工作,请逐行运行它们,始终选择直到的命令%>%来检查它们的作用):

library(tidyverse)
library(tidylog) # gives you additional output on what each command does
# Creating some data that looks similar
data <- matrix(rnorm(25,mean = 26),ncol=5)
data <- as_tibble(data)
data <- setNames(data,c(1:5))

data %>% 
  mutate(row = row_number()) %>% 
  pivot_longer(-row, names_to = "column",values_to = "values", names_prefix = "V") %>% 
  # depending on how your column names look like, you might need to use a separate() command first
  filter(values > 0 & values < 26) %>% 
  
  # if you want you can create an index column as well
  mutate(index = paste0(row,"-",column)) %>% 
  
  # then you can get rid of the row and column
  select(-row,-column) %>% 
  # move index to the front
  relocate(index)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

热门标签

归档