我试图将我的生物数据值映射到它们在R中的单一距离。但是,我得到的错误是数据类别不同,这就是为什么我随后在我的情节中出错,所以我将两者转换为矩阵,但是当我运行时仍然会出错:
unifrac.melt <- melt(as.matrix(unifrac.w))
unifrac.melt <- t(unifrac.melt)
fi.melt <- melt(as.matrix(data$fi)) #convert to dataframe
fi.melt <- t(fi.melt)
class(fiber.melt)
plot(fi.melt ~ unifrac.melt)
Error in xy.coords(x, y, xlabel, ylabel, log): 'x' and 'y' lengths differ
如果有人有任何建议请告诉我!
fi.melt如何出现:
row.names V1 V2 V3
1 Var1 1.00000 2.000000 3.000000
2 Var2 1.00000 1.000000 1.000000
3 value 10.43247 8.837031 7.093047
unifrac.melt如何出现:
row.names V1 V2 V3
1 Var1 30841102 49812105 26402102
2 Var2 X30841102 X30841102 X30841102
3 value 0.00000000 0.50184564 ....
数据显示为这样,其中有13个变量的152个观察值:
row.names BSequence Sequence Fi FiCategory Wg WgCategory V VCategory Fr FrCategory TVs An Description
1 30841102 CGATGCTGTAGATCGC CTGTCTCTTATACACATCT 10.432465 Low 3.289473 Low 164.952225 Low 0.000000 None 222.952225 Yes NA
2 49812105 TAATGAGCTAACCTCT CTGTCTCTTATACACATCT 8.837031 Low 0.254120 Low 85.095326 Low 0.275000 Low 90.720326 No NA
3 26402102 TCCTGTTCTATCCTCT CTGTCTCTTATACACATCT 7.093047 Low 2.619711 Low 96.203285 Low 0.000000 None 114.703285 No NA
因此,为了重现性,
原始数据如下:
envd <- matrix(rexp(2000, rate=.1), nrow=3, ncol=1976)
&#34;连接&#34;是envd的第3列
unifrac.melt就像:
unifracd <- matrix(rexp(30000, rate=.1), nrow= 3, ncol= 23104)