Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据其他变量从表中抽样(R)_R - Fatal编程技术网

根据其他变量从表中抽样(R)

根据其他变量从表中抽样(R),r,R,我是一名刚刚开始在R工作的内科医生,非常感谢您在这个问题上的帮助: 我有两个表(A,B),其中包含变量age(连续)、sex(二进制)和test_值(二进制)。每个表都有不同的年龄和性别分布 set.seed(10) AgeA <- round(rnorm(100, mean = 40, sd = 15)) SexA <- sample(c("M","F"), 100, replace = TRUE, prob = c(0.5, 0.5)) Test_ValueA <- rbi

我是一名刚刚开始在R工作的内科医生,非常感谢您在这个问题上的帮助: 我有两个表(A,B),其中包含变量age(连续)、sex(二进制)和test_值(二进制)。每个表都有不同的年龄和性别分布

set.seed(10)
AgeA <- round(rnorm(100, mean = 40, sd = 15))
SexA <- sample(c("M","F"), 100, replace = TRUE, prob = c(0.5, 0.5))
Test_ValueA <- rbinom(100, 1, 0.3)

set.seed(20)
AgeB <- round(rnorm(1000, mean = 50, sd = 15))
SexB <- sample(c("M","F"), 1000, replace = TRUE, prob = c(0.5, 0.5))
Test_ValueB <- rbinom(1000, 1, 0.4)

A <- data.frame(Age = AgeA, Sex = SexA, Test = Test_ValueA)
B <- data.frame(Age = AgeB, Sex = SexB, Test = Test_ValueB)

genderA<-(prop.table(table(A[,2])))
TestA<-(prop.table(table(A[,3])))
paste("median age in group A is",median(A[,1]), "percentage female in group A is",genderA[1], "percentage of test positive in A is", TestA[2])

genderB<-(prop.table(table(B[,2])))
TestB<-(prop.table(table(B[,3])))
paste("median age in group A is",median(B[,1]), "percentage female in group B is",genderB[1], "percentage of test positive in A is", TestB[2])
set.seed(10)

AgeA你好,我有一个可能的答案,我将建立两个100人的群体,具有你所说的特征

set.seed(10)
AgeA <- rnorm(100, mean = 30, sd = 10)
#population A is 0.8 percent male
SexA <- sample(c("M","F"), 100, replace = TRUE, prob = c(0.5, 0.5))
Test_ValueA <- rbinom(100, 1, 0.5)

set.seed(20)
AgeB <- rnorm(100, mean = 30, sd = 10)
#population B is 0.8 percent male
SexB <- sample(c("M","F"), 100, replace = TRUE, prob = c(0.8, 0.2))
Test_ValueB <- rbinom(100, 1, 0.3)

A <- data.frame(Age = AgeA, Sex = SexA, Test = Test_ValueA)
B <- data.frame(Age = AgeB, Sex = SexB, Test = Test_ValueB)
set.seed(10)

年龄a好的,范克我想你会更喜欢这个答案,第一部分是一样的,只是年龄是四舍五入的:

set.seed(10)
AgeA <- round(rnorm(100, mean = 30, sd = 2))
#population A is 0.8 percent male
SexA <- sample(c("M","F"), 100, replace = TRUE, prob = c(0.5, 0.5))
Test_ValueA <- rbinom(100, 1, 0.5)

set.seed(20)
AgeB <- round(rnorm(100, mean = 30, sd = 2))
#population B is 0.8 percent male
SexB <- sample(c("M","F"), 100, replace = TRUE, prob = c(0.8, 0.2))
Test_ValueB <- rbinom(100, 1, 0.3)

A <- data.frame(Age = AgeA, Sex = SexA, Test = Test_ValueA)
B <- data.frame(Age = AgeB, Sex = SexB, Test = Test_ValueB)
然后,通过应用过滤器,您可以在组内采样:

例如,如果你只想得到B组中30岁的男性,你可以去

BMale30 <- filter(B, Sex == "M" & Age == 30)

BMale30欢迎来到SO。请阅读我如何提出一个好问题,如何创建MCVE,以及如何在R中提供一个最小的可复制示例。这是一种非常优雅的方式来进行性行为!然而,我们希望取样不仅取决于年龄,还取决于年龄,例如,30岁女性、23岁男性等的分布完全相同。。。有什么想法吗?@fank你好,我想我能做到。然而,我认为最好使用年龄作为协变量,因为它不太好问,你能告诉我你试图回答的问题吗?我也许能帮助你,我想你可能不需要这样做。如果您愿意,我可以向您发送电子邮件。我正在尝试比较三组(fishers精确检验)之间的二元结果,以及随后A-C、A-B和B-C组之间的亚组分析。B和C是我的研究人群,样本量有限,但A是一个大群体。无论如何,我可以根据年龄和性别进行调整吗?嗨,这非常有用,也帮助我改进了我最初的问题(见上文)。你认为火柴套餐可以根据年龄和性别进行调整吗?我有点不确定如何使用过滤器作为您建议的最后一步。非常感谢你迄今为止的巨大帮助!你好,芬克,你可以做这样的过滤:Amale30
SampleAMale <- Amale[sample(nrow(Amale), 15), ]

SampleAFemale <-Afemale[sample(nrow(Afemale), 5), ]
sampleA <- rbind(SampleAMale, SampleAFemale)

ASampleSummary <- group_by(sampleA,Sex)

ASampleSummary <- summarise(ASampleSummary, PercenteagePositive = sum(Test == 1)/length(Test == 1), PercenteageSex = n()/100)
set.seed(10)
AgeA <- round(rnorm(100, mean = 30, sd = 2))
#population A is 0.8 percent male
SexA <- sample(c("M","F"), 100, replace = TRUE, prob = c(0.5, 0.5))
Test_ValueA <- rbinom(100, 1, 0.5)

set.seed(20)
AgeB <- round(rnorm(100, mean = 30, sd = 2))
#population B is 0.8 percent male
SexB <- sample(c("M","F"), 100, replace = TRUE, prob = c(0.8, 0.2))
Test_ValueB <- rbinom(100, 1, 0.3)

A <- data.frame(Age = AgeA, Sex = SexA, Test = Test_ValueA)
B <- data.frame(Age = AgeB, Sex = SexB, Test = Test_ValueB)
1000*(prop.table(table(A[,1:2])))
BMale30 <- filter(B, Sex == "M" & Age == 30)