我想对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”。
你知道一些能做到这一点的公式吗?
感谢您的帮助!
答案 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.