R-如何选择样本()输出中指示的行?

时间:2017-05-12 18:18:03

标签: r assign

我想对415名受试者进行探索性因子分析,然后进行验证性因子分析。我想将我的样本分成两个或多或少相等的样本,这样我就可以对208个科目进行全民教育,对207个科目进行CFA。

我使用sample()函数:

a<-sample(1:415,208,replace=F)

sort(a)

b<-sample(1:415,207,replace=F)

sort(b)

我得到了不同的价值观。

我想在我的数据集的“AFE.AFC”列中为“a”中提到的所有208个参与者分配一个数字1,并为“参与者”中提到的207个参与者中的数字2分配数字2 b”。

你知道一些能做到这一点的公式吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

所以你实际上并不想两次使用sample,因为你很可能会得到一些显示在两者中的数字。假设您的数据位于名为df的数据框中,您可以执行类似这样的操作

df$AFE.AFC <- 2 # this creates a column called AFE.AFC where all the values are 2
a.index <- sample(1:415, 208, replace = FALSE) # randomly samples 208 numbers from 1-415
df$AFE.AFC[a.index] <- 1 # this changes the value in the column category and changes it to 1 if it's the row number it's in is in AFE.AFC

诀窍在第3行和最后一行。如果数字5, 21, 103, 4, ...位于a.index,那么df$AFE.AFC的第5,第21,第103和第四个值将从1更改为2.