R部分II的重量数据

时间:2011-08-11 13:17:35

标签: r statistics spss

给出以下数据框:

structure(list(UH6401 = c(1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 
1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 
0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 
1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 
1, 0, 1, 1), UH6402 = c(1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 
0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 
1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 
0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 
1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 
0, 1, 1), UH6403 = c(1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 
1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 
1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 
1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 
0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 
1, 1), UH6404 = c(0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 
0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 
1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 
1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 
0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 
1), UH6409 = c(1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 
1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 
0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 
1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 
1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0
), UH6410 = c(1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 
1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 
1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 
1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 
0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0
), UH6411 = c(0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 
1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 
0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 
1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1
), UH6412 = c(1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 
1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1
), UH6503 = c(1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 
1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 
1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1
), UH66 = c(1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), 
    UH68 = c(0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 
    0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 
    0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0), UH6501a = c(1, 1, 1, 1, 1, 1, 1, 
    1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
    1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
    1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), UH6405a = c(1, 
    0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 
    0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 
    0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 
    1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 
    1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 
    1, 0, 1, 1), UH6407a = c(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 
    1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 
    1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 
    1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 
    0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1), weight = c(405.002592353822, 
    479.360356183825, 526.548105855472, 810.005184707644, 312.321528531308, 
    930.961115757095, 567.383058387095, 475.323944260643, 1226.91439266118, 
    517.086839792615, 1200.2669656949, 810.005184707644, 656.723784884795, 
    605.370463928298, 668.467435759576, 558.112457492436, 793.751055244424, 
    479.360356183825, 1226.91439266118, 1606.54816212786, 1657.48609449633, 
    300.803580980276, 605.370463928298, 1140.55078447979, 669.102760422943, 
    810.005184707644, 1657.48609449633, 305.569853371963, 2994.30343152033, 
    762.922030382216, 479.360356183825, 1147.36030437824, 668.467435759576, 
    517.086839792615, 479.360356183825, 399.141865860217, 656.723784884795, 
    913.364738988386, 312.321528531308, 569.10576379231, 775.630259688922, 
    1207.22952429547, 1053.09621171094, 1140.55078447979, 314.857225320909, 
    668.467435759576, 2416.57081451012, 573.680152189121, 396.875527622212, 
    605.370463928298, 1036.3159447043, 3088.62283807823, 569.10576379231, 
    1140.55078447979, 2416.57081451012, 1147.36030437824, 762.922030382216, 
    702.064141140629, 351.032070570315, 629.714450641817, 517.086839792615, 
    1996.20228768022, 828.743047248167, 475.323944260643, 920.185794495882, 
    793.751055244424, 796.08788273764, 1197.42559758065, 405.002592353822, 
    418.584343119327, 300.803580980276, 654.76828203733, 2740.09421696516, 
    351.032070570315, 1069.6202614693, 2094.91447516374, 399.141865860217, 
    654.76828203733, 1003.65414063441, 573.680152189121, 851.074587580641, 
    913.364738988386, 762.922030382216, 1034.17367958523, 573.680152189121, 
    479.360356183825, 3208.8607844079, 654.76828203733, 908.055695892447, 
    328.361892442398, 1036.3159447043, 702.064141140629, 613.457196330588, 
    601.607161960551, 567.383058387095, 479.360356183825, 306.261087672466, 
    920.185794495882, 654.76828203733, 828.743047248167)), .Names = c("UH6401", 
"UH6402", "UH6403", "UH6404", "UH6409", "UH6410", "UH6411", "UH6412", 
"UH6503", "UH66", "UH68", "UH6501a", "UH6405a", "UH6407a", "weight"
), row.names = c(NA, 100L), class = "data.frame")

在社会科学中,我们经常使用权重变量来对案例(行)加权该变量的因子以校正样本以适合例如按年龄分类的人口。如果一行的权重变量为“1.6”,则表示该行需要观察1.6次以适合基础人口。

在SPSS中我会写

WEIGHT BY weight. 

并且该命令之后的所有过程将相应地加权数据。

在R中,我可以使用命令

进行攻击
xtabs(weight ~ UH6401, data=df)

但是,如果我想进行SVD​​或PCA分析怎么办?这里没有像xtabs那样加权数据的功能。

所以问题是,是否有一种方法可以在RSS中对数据进行加权,就像在SPSS中一样? 整数的点很容易,因为因子“2”我们只会加倍线,但所有十进制因子是什么?


更新

SVD或PCA只是一个例子!采取任何其他统计程序。 在社会科学中,样本从来都不是完美的,但是要对样本数据进行统计分析,样本需要代表基本人口,但样本大多不需要。所以我们尝试用权重来修正这个缺陷,所以样本代表基本人口!

4 个答案:

答案 0 :(得分:7)

首先,对这些数据进行PCA没有意义。其次,SPSS不执行PCA,而是执行因子分析,这是其他原因。我知道他们称之为PCA,但事实并非如此。

SPSS中的WEIGHT BY只不过是一个复制权重,与使用rep()重复您的案例进行分析完全相同:完全疯狂。要链接到您的示例:在SPSS中,FACTOR(用于所谓的PCA)不采用分数权重。

如果您想执行加权过程,那么唯一明智的方法就是使用正确的方法/函数/包。在统计数据中,没有一个适合所有人的重量程序,这与SPSS想让你相信的相反。

在您的示例中:R中的加权PCA包含在FactoMineRaroma.light中。但我强烈建议你再看一下vegan包,因为它包含了你所描述的数据的更多有用的排序方法。

答案 1 :(得分:4)

你可能需要熟悉R. Baron的RSiteSearch和Rseek的搜索引擎: 这是Baron网站上“加权PCA”的首次点击之一:

http://finzi.psych.upenn.edu/R/library/aroma.light/html/wpca.matrix.html

通过对Joris Meys回复的评论中的澄清,答案通常是需要清楚的是,人们希望样本权重与其他类型的权重相比。回归加权使用survey package完成。 Lumley关于调查方法的书区分了三种类型的权重。 (lm函数中的“权重”是方差权重,而不是样本权重。)

注意:PCA和因子分析(实验)均包含在调查包中。因此,在Dominick的问题请求中,回归方法中加权的统一方法只有一个“答案”。

答案 2 :(得分:0)

我不确定这是否适合你。请参阅R包weights

答案 3 :(得分:0)

我刚刚找到一个引入dataWriterObj.setNickName("Abbey")函数的Post in R-Bloggers。据我所知,Survey Package中的这个功能就像SPSS功能,允许您创建加权数据以用于进一步分析。我发现它比使用多个包中的不同函数更有用,以便进行多变量分析。希望你找到有用的东西!

另一位使用R的社会科学分析师;)