我有一个110行的数据帧,它是微阵列实验表达式对象的pData。我想创建一个具有2个级别的因子矢量,随机分配给行(代表实验的样本)。例如,如果在实验中有110行对应于110个主题,我希望将55行设置为“G0”,将55行设置为“G1”。这些组用于后续功能。 我目前正在尝试以下内容,它包含在我试图修改的函数中:
# makes a numeric vector of the number of subjects/rows in the pData
sml<-rep(0,length(colnames(eset))
# ‘populate’ sml with G0 & G1
sml[sample(sml,(length(sml)/2))]<-"G0"
sml[sample(sml,(length(sml)/2))]<-"G1"
label <- as.factor(sml)
如何进行采样以使G1组完成sml的长度并使已经指定为G0的位置保持不变? 感谢
答案 0 :(得分:2)
这是正确答案
eset <- matrix(NA, ncol = 110, nrow = 1)
good <- sample(
rep(
factor(c("G0", "G1")),
ncol(eset) %/% 2
)
)
table(good)
这是一个不好的例子
bad <- sample(c("G0", "G1"), ncol(eset), replace = TRUE)
table(bad)