我想找出一種方法來增加向量元素的數量,以便在繪製這些向量的值時去除可見的角效應。舉例來說,假設我有包含每10個元素的兩個向量:在R中增加向量分辨率
a = c(4,2,10,5,3,4,8,9,6,2)
b = seq(0,4.5, by=0.5)
他們受到數據平滑,但我想,以增加他們的「分辨率」比10(長度),以獲得更多的預測點。所以,換句話說,採用向量a,並在保持其一致性的同時加倍(例如)其元素的數量。將所得的載體應是這樣的:
a = c(4,3,2,6,10,7,5,4,3,4,6,8,8.5,9,7.5,6,4,2,2)
。當然,在這種特殊情況下,我很容易計算的元件的平均成對。但我想有一個任意長度的廣義方法。我曾嘗試用:
seq(a[1],a[10], length.out=20)
但當然,因爲只有向量的第一個和最後一個元素都採取了在考慮這個沒有做這項工作。它適用於第二個矢量b雖然(其中包含橫座標值)。 任何幫助,將不勝感激。謝謝。 Marius。
您認爲「保持其一致性」意思不是很清楚嗎?只要符合最小值和最大值就可以了。 – Hansi 2012-04-10 12:15:19
你可能喜歡'splinefun'或'approxfun' – 2012-04-10 12:28:35
不,要得到任意兩個連續的向量元素* a *並且在它們之間再加上2或3或者任何均勻分佈的元素,但要尊重向量。例如,如果最初a [5] = 4和a [6] = 7和a [7] = 5,我在a [5]和a [6]之間以及a [6]和a [ 7]該矢量片應該是a1 [5] = 4; a1 [6] = 5,a1 [7] = 6,a1 [8] = 7,a1 [9] = 6.34,a1 [10] = 5.68,a1 [11] = 5,初始a [5] = a1 [5],a [6] = a1 [8]和a [7] = a1 [11] – Marius 2012-04-10 12:32:00