基本上,分配是从连续变量中找到分类变量的每个类别中的SD,均值,p值和人数。
例如,拥有一个变量BMI(连续),该变量具有患者的BMI,但是分配要求我们在同一类别的“无糖尿病”组和“糖尿病”组中找到变量BMI的平均值和sd变量。
第一个变量是每个患者的BMI列表,第二个变量指示个人是否患有BMI,1和2适用于1型和2型糖尿病,而3则不含糖尿病。
我的任务是获取患有糖尿病的BMI个体和没有糖尿病的BMI个体的p值,个体数量,均值和标准差,同时删除任何缺少信息的人。
我尝试过:
mean(ds$bmi[ds$diabetesI==1|ds$diabetesI==2])
但是,这将返回NA。我在此背后的想法是,看看我是否能获得1型和2型糖尿病患者的平均数,但如上所述,它没有用。
数据
ds <- structure(list(bmi_list = c(23.56748874, 30.2897933, 26.79150092,
29.52347213, 32.60591716, 35.04961743, 21.41223797, 27.46530314,
28.73467206, 21.19391994, 25.59362916, 27.62345679, 34.45651021,
27.48650005, 31.49548668, 26.05817112, 35.83864796, 31.42131479,
22.49134948, 33.99585346, 23.67125363, 22.55335653, 29.41248346,
32.94855347, 23.2915562, 30.37962963, 23.759308, 25.2493372,
29.27315022, 35.26197253), diab4 = c(1L, 1L, 3L, 1L, 1L, 3L,
1L, 1L, 1L, 3L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 1L, 3L, 1L, 1L, 1L,
3L, 1L, 3L, 1L, 1L, 1L, 1L, 3L)), row.names = c(1L, 2L, 3L, 4L,
5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L,
19L, 20L, 21L, 22L, 23L, 24L, 25L, 27L, 28L, 30L, 31L, 32L), class =
"data.frame")
答案 0 :(得分:0)
我的建议是分阶段工作。 (1)删除缺失的数据,(2a)识别糖尿病病例,(2c)识别非糖尿病病例,(3a)选择糖尿病病例,(3b)选择非糖尿病病例,(4a)计算糖尿病病例的平均值,(4b )计算非糖尿病病例的平均值。
在此过程的每个步骤中,请回顾您到目前为止所取得的成就,并说服自己自己有正确的步骤去做下一步。当然,您对自己所拥有和所需内容的想法可能会随之改变,这是可以预期的。
例如对于(1),请查看is.na(whateverdata)
。这是标志列表,显示每个值是否为NA。看起来合适吗?您有几个数据字段,如果缺少任何字段,可能需要省略大小写。查看应用于每个字段的is.na
,并查看所有字段的析取|
。看起来正确吗?通过sum
计算缺失值。看起来正确吗?然后通过!
为非丢失数据创建标志。最后,通过whateverdata[nonmissingflags]
用非缺失标志下标来选择非缺失数据。
类似地,对于(2a)和(2b),为每个子集构造标志,然后查看。对于(3a)和(3b),使用子集标志选择案例并查看那些数据。
在(4a)和(4b)中,仅将mean
应用于您选择的数据。但是此时,您已经准备好可以应用任何分析的子集-您可以在此处进行不同的选择。