我有一個因素lang
和alg
數據和我喜歡的選擇lang
對alg
之間都比較差:結合colums的因素
> perf[perf$lang == "java", c("alg", "cpu")]
alg cpu
173 binarytrees 0.196
174 chameneosredux 0.404
175 fannkuchredux 0.648
> perf[perf$lang == "python3", c("alg", "cpu")]
alg cpu
246 binarytrees 0.972
248 fannkuchredux 13.752
249 fasta 1.152
對於我期望得到0.196/0.972
,但對於chameneosredux
是NA
,爲fannkuchredux
是0.648/13.752
,爲fasta
是NA
...
一種方法是對行進行排序但我不明白如何在缺失因子(unique(perf$alg)
中可用的所有因子)上注入行NA
。
UPDATE儘管原來的問題,我覺得我喜歡兩個數據幀的列組合成上相同的因素單獨的數據幀:
binarytrees 0.196 0.972
chameneosredux 0.404 NA
fasta NA 1.152
fannkuchredux 0.648 13.752
也許是一個答案,你原來的Q ...'aggregate(cpu_alg,data = perf [perf $ lang%in%c(「java」,「python3」),],function(x)x [1]/x [2])' – user20650
否則,重新編輯..你可以重新設計你的數據..'reshape2 :: dcast(alg〜lang,data = perf,value.var =「cpu」)' – user20650
@ user20650獲取** errror **:* variable長度在實際數據上有所不同(針對'alg')*。 java/python3 slice中的行數存在差異(對於第一個建議)。 – gavenkoa