R:比较奇数索引向量

时间:2010-12-23 16:28:51

标签: r vector comparison indexing

我有一些难以处理属性的数据。有两个向量在物理对象的点处测量质量(从0到1)。根据从物体底部测量的距离来索引这些测量值。然后,将质量改进变换应用于对象,并再次进行测量。但是,测量次数不一样,也不是它们的分数。

在R中,数据看起来像这样(但有更多的点)

转型前:

     value index
[1,]   0.3     6
[2,]   0.6    16
[3,]   0.1    25
[4,]   0.8    37
[5,]   0.2    46
[6,]   0.4    58
[7,]   0.4    64
[8,]   0.2    76

转型后:

      value index
 [1,]   0.3     1
 [2,]   0.5     9
 [3,]   0.7    18
 [4,]   0.4    30
 [5,]   0.9    44
 [6,]   0.3    48
 [7,]   0.4    61
 [8,]   0.5    66
 [9,]   0.3    76
[10,]   0.1    85

假设沿着物体的质量是连续的(如果没有在每个点观察到),并且在变形过程中改善的大小取决于物体上的点,我希望能够显示分布质量改进。

由于有不同数量的测量和不同的指标,我不认为

plot(density(after$value - before$value)) 

是我正在寻找的。我的问题是,是否有一种理智的方式来消除这种差异,以便我对质量提高了多少观察?或者我会不会看到手段上的差异?

1 个答案:

答案 0 :(得分:3)

也许这就是你想要的:你想在转换之前和转换之后的同一图表上显示索引与值的平滑曲线,这样你就可以看到质量的一般“改进” :我在下面用一些模拟数据显示。

bef <- .2 + 2*((1:1000)/1000 - .5)^2  + round(rnorm(1000),1)/100
aft <- bef * (1 + rnorm(1,.7,.2))
bef.samp <- sample(1:1000, 100)
aft.samp <- sample(1:1000, 60)
bef.df <- data.frame( value = bef[ bef.samp ], index = bef.samp )
aft.df <- data.frame( value = aft[ aft.samp ], index = aft.samp )
bef.aft <- rbind( cbind(when = 'bef', bef.df), cbind( when = 'aft', aft.df))
ggplot(bef.aft, aes(index,value)) + 
   geom_smooth(aes(colour = when), se=0, size=1) + 
      geom_point(aes(colour=when))

alt text