我正在尝试查找列表中多个数据帧中任何两个0之间的欧几里得距离。首先,我已经为列表中的每个数据帧输出了每个0的位置...
csvs <- list.files(pattern="*.csv")
csv <- lapply(csv, read.table)
pos_0 <- sapply(csv, function(x) which(t(x) == 1))
但是我不确定下一步将是什么。我已经尝试过使用dist包,但是我不知道这是否正确...
dist(position_of_1s, method = "euclidean", diag = TRUE, upper = TRUE, p = 2)
我得到错误
dist(position_of_1s,method =“ euclidean”,diag = TRUE,upper = TRUE,:(list)对象不能强制输入'double'类型错误)>
可以这样做吗?
我还在下面提供了可复制的示例:
set.seed(99)
mat_list1 <- matrix(sample(c(0,1), 400, prob=c(0.8,0.2), replace=TRUE), nrow = 20)
df1 <- data.frame(mat_list1)
set.seed(123)
mat_list2 <- matrix(sample(c(0,1), 400, prob=c(0.8,0.2), replace=TRUE), nrow = 20)
df2 <- data.frame(mat_list2)
df_list <- list(df1, df2)
position_of_1s <- sapply(df_list, function(x) which(t(x) == 1))
dist(position_of_1s, method = "euclidean", diag = TRUE, upper = TRUE, p = 2)
我正在尝试查找列表中多个数据帧中任何两个0之间的欧几里得距离。首先,我已经为列表中的每个数据帧输出了每个0的位置... csvs
尽管我不确定为什么,但这似乎可行。我只是镜像了Distance Matrix Computation Documentation中的示例之一。希望对您有所帮助!