【发布时间】:2018-04-29 13:13:33
【问题描述】:
由于我正在处理 Q 矩阵问题并需要计算汉明距离,我遇到了从 dataframe A 到 dataframe B 中的同一行的不同行(作为向量)的问题。
具体来说,df2 是一个 6x3 数据帧,df1 是一个 3x3 数据帧。
df1 <- data.frame(Q1= c(1,0,1), Q2= c(0,0,0), Q3= c(1,1,0))
df2 <- data.frame(A =c(1,1,0,1,1,0), B =c(0,0,0,1,1,0), C =c(0,1,0,1,1,1))
我需要将 df2 中的所有 6 行作为向量依次应用到 df1 中的每一行,以便计算所有 6 个向量 - 1 个向量对的汉明距离(它应该只输出 3 个汉明距离值)。例如,df1 中的第一行 (1,0,1) 应与 df2 中的所有 6 行(包括 (1,0,0),(1,0,1),(0,0,0),(1,1,1),(1,1,1),(0,0,1))配对并产生 1 个汉明距离值。按照同样的逻辑,这个类似的过程应该给出 3 个汉明距离值。
我用double for() loop 尝试了几次,但没有成功。事实上,我什至不知道我们如何从dataframe 中打印出一行作为可以与其他向量进行其他计算的向量。有人可以帮忙吗?
【问题讨论】:
标签: r loops matrix matrix-multiplication hamming-distance