内容

1练习1:BRFSS调查数据

我们将探索疾病控制与预防中心通过其广泛的行为风险因素监测系统(BRFSS)电话调查。查看链接以获取更多信息。我们将查看数据的子集。

  1. (简单)使用RStudio的“导入数据集”函数查找您已经下载到本地磁盘的“BRFSS-subset.csv”文件。跳过接下来的两个步骤。

  2. (替代)使用file.choose()找到文件“BRFSS-subset.csv”的路径

    路径< - file.choose ()
  1. (备选,继续)使用read.csv (),分配给变量brfss

    brfss < - read.csv(路径)
  2. 使用命令班级()头()昏暗的()总结()探索数据。

    • 测量了哪些变量?

    • 你能猜出体重和身高的单位吗?

    类头(brfss)模糊(brfss)摘要(brfss)
  3. 使用操作员提取“性别”栏,并总结在调查中使用的男性和女性人数表().对“Year”也做同样的处理吗一年

    表(美元brfss性)
    ####女性男性## 12039 7961
    表(brfss年美元)
    ## ## 1990 2010 ## 10000 10000
    表(brfss性,美元brfss美元)
    ## ## 1990 2010 2010 ##女5718 6321 ##男4282 3679
    table(Sex, Year)) #相同,但更简单
    ##年份##性别1990 2010 ##女性5718 6321 ##男性4282 3679
  4. 使用总()总结每组的平均权重。那么每一组的中位数权重呢?是怎样的数量每组的观察?

    with(brfss, aggregate(Weight, list(Year, Sex), mean, na.rm=TRUE))
    ## # 1 ## 2 ## 1 1990女64.81838 ## 2 2010女72.95424 ## 3 1990男81.17999 ## 4 2010男88.84657
    with(brfss, aggregate(Weight, list(Year=Year, Sex=Sex), mean, na.rm=TRUE))
    ## ## 1 1990女64.81838 ## 2 2010女72.95424 ## 3 1990男81.17999 ## 4 2010男88.84657
  5. (高级)使用公式总()函数来描述年龄、性别和体重之间的关系

    合计(体重~年+性别,brfss,平均值)#相同,但更多信息
  6. 建立一个只包括1990年观察结果的数据子集。对男性和女性的体重进行t检验(“‘体重’作为‘性别’的函数”,重量〜性别

    brfss_1990 = brfss[brfss$Year == 1990,] t.test(Weight ~ Sex, brfss_1990)
    ## ## Welch两个样本T-Test ## ##数据:重量性别## T = -58.734,DF = 9214,P值<2.2E-16 ##替代假设:真正的差异在于手段不等于0 ## 95%的置信区间:## -16.90767 -15.81554 ##样本估计:##在群体中的均值均匀,团体男性均值## 64.81838 81.17999

    1990年和2010年男性(或女性)的体重有什么不同?查看帮助页面?t.test.formula..有没有办法进行T-TERbrfss没有显式地创建对象BRFSS_1990.

  7. 使用箱线图()绘制男性个人的重量。你可以改变体重,例如,SQRT(重量)〜年?解释结果。对前一个问题的t检验做类似的箱线图。

    boxplot(Weight ~ Year, brfss,子集= (Sex == "Male"), main="Male ")

  8. 使用嘘()绘制1990年女性个体的权重直方图。

    hist(brfss_1990[brfss_1990$Sex == "Female", "Weight"], main="Female, 1990", xlab="Weight")

2练习2:所有表型数据

该数据来自(旧的)急性淋巴式白血病微阵列数据集。

要么使用RStudio“导入数据集”(使用标题,使用行名称,逗号分隔的第一列)或选择包含所有(急性淋巴细胞白血病)患者信息的文件并使用使用read.csv ();为read.csv (), 使用row.names = 1使用第一列作为行名。

path <- file.choose() #查找ALL-phenoData.csv
pdata <- read.csv(path, row.names=1)

查看帮助页面read.delim ?输入选项。练习使用read.csv ?;你能猜到为什么吗?探索您创建的对象的基本属性,例如...

类(pdata)
# #[1]“data.frame”
colnames (pdata)
# #[1]“鳕鱼”“诊断”“性”“年龄”“转基因”# #[6]“缓解”“CR”“日期。cr”“t.4.11。”“t.9.22。”# #[11]”阶段。正常的"citog" "mol。biol"融合。蛋白质"mdr" ## [16] "kinet" "ccr" "relapse" "transplant" "f.u" ## [21] "date.last.seen"
暗(pdata)
21 .【答案】b
头(pdata)
## COD诊断性别时代BT REFISSE CR DATE.CR T.4.11。t.9.22。CYTO.NORMAL CITOG ## 01005 1005 5/21/1997 M 53 B2 CR CR 8/6 / 1997 FALSE TRUE FALSE T(9; 22)## 01010 1010 3/29/2000 M 19 B2 CR CR 6/27 /2000错误假误报简单。## 03002 3002 6/24/1998 F 52 B4 CR CR 8/17/1998 NA NA  ## 04006 4006 7 / 17/1997 M 38 B1 CR CR 9/8/1997真假假T(4;11)## 04007 4007 7/22/1997 M 57 B2 CR CR 9/17/1997 FALSE FALSE FALSE del(6q) ## 04008 4008 7/30/1997 M 17 B1 CR CR 9/27/1997 FALSE FALSE FALSE complex alt. ## mol.biol fusion.protein mdr kinet ccr relapse transplant f.u date.last.seen ## 01005 BCR/ABL p210 NEG dyploid FALSE FALSE TRUE BMT / DEATH IN CR  ## 01010 NEG  POS dyploid FALSE TRUE FALSE REL 8/28/2000 ## 03002 BCR/ABL p190 NEG dyploid FALSE TRUE FALSE REL 10/15/1999 ## 04006 ALL1/AF4  NEG dyploid FALSE TRUE FALSE REL 1/23/1998 ## 04007 NEG  NEG dyploid FALSE TRUE FALSE REL 11/4/1997 ## 04008 NEG  NEG hyperd. FALSE TRUE FALSE REL 12/15/1997
总结(pdata性美元)
F M NA的## 42 83 3
总结(pdata cyto.normal美元)
## Mode FALSE TRUE NA的## logical 69 24 35

提醒自己关于子集和访问data.frame列的各种方法

pdata [1:5, 3:4)
## f52 ## 04006 # m38 ## 04007 # m57 ## 04006 ## 04007 # m57 ## 04006 ## 04007 # m57 ## 04006 ## 04007 # m52 # 04006 # 04007 # m57
pdata [1:5]
## COD诊断性别时代BT REFISSE CR DATE.CR T.4.11。t.9.22。CYTO.NORMAL CITOG ## 01005 1005 5/21/1997 M 53 B2 CR CR 8/6 / 1997 FALSE TRUE FALSE T(9; 22)## 01010 1010 3/29/2000 M 19 B2 CR CR 6/27 /2000错误假误报简单。## 03002 3002 6/24/1998 F 52 B4 CR CR 8/17/1998 NA NA  ## 04006 4006 7 / 17/1997 M 38 B1 CR CR 9/8/1997真假假T(4;11)## 04007 4007 7/22/1997 M 57 B2 CR CR 9/17/1997 FALSE FALSE FALSE del(6q) ## mol.biol fusion.protein mdr kinet ccr relapse transplant f.u date.last.seen ## 01005 BCR/ABL p210 NEG dyploid FALSE FALSE TRUE BMT / DEATH IN CR  ## 01010 NEG  POS dyploid FALSE TRUE FALSE REL 8/28/2000 ## 03002 BCR/ABL p190 NEG dyploid FALSE TRUE FALSE REL 10/15/1999 ## 04006 ALL1/AF4  NEG dyploid FALSE TRUE FALSE REL 1/23/1998 ## 04007 NEG  NEG dyploid FALSE TRUE FALSE REL 11/4/1997
头(pdata [3:5])
1 . b . 1 . b . 1 . b . 2 . b . 3 . c . 4 . c . 4 . c . 5 . c . 5 . c . 5 . c . 5 . c . 5 . c . 5 . c . 5 . c . 5
尾部(PDATA [,3:5],3)
##性别时代BT ## 65003 M 30 T3 ## 83001 M 29 T2 ## LAL4  NA T.
头(pdata时代美元)
## 53 19 52 38 57 17
头(pdata $性)
## [1] M M F M M M M ##级别:F M
头(pdata [pdata $ > 21岁])
## COD诊断性别时代BT REFISSE CR DATE.CR T.4.11。t.9.22。CYTO.NORMAL CITOG ## 01005 1005 5/21/1997 M 53 B2 CR CR 8/6 / 1997 FALSE TRUE FALSE T(9; 22)## 03002 3002 6/24/1998 F 52 B4 CR CR 8/17 /1998年NA NA  ## 04006 4006 7 / 17/1997 M 38 B1 CR CR 9/8/1997真假假T(4; 11)## 04007 4007 7/22/1997 M 57 B2 CR CR 9/ 17/197 False False False(6Q)## 08001 8001 1/15/1997 M 40 B2 CR CR 3/26 / 26/1997 FESH FERESS FEREST DEL(P15)## 08011 8011 8/21/1998 M 33 B3 CRCR 10/8/1998 FALSE FALSE FALSE del(p15/p16) ## mol.biol fusion.protein mdr kinet ccr relapse transplant f.u date.last.seen ## 01005 BCR/ABL p210 NEG dyploid FALSE FALSE TRUE BMT / DEATH IN CR  ## 03002 BCR/ABL p190 NEG dyploid FALSE TRUE FALSE REL 10/15/1999 ## 04006 ALL1/AF4  NEG dyploid FALSE TRUE FALSE REL 1/23/1998 ## 04007 NEG  NEG dyploid FALSE TRUE FALSE REL 11/4/1997 ## 08001 BCR/ABL p190 NEG  FALSE TRUE FALSE REL 7/11/1997 ## 08011 BCR/ABL p190/p210 NEG dyploid FALSE FALSE TRUE BMT / DEATH IN CR 

从下面看,数据集中有17位40岁以上的女性。然而,有些人有NA.年龄和/或性别,还有这些NA.值通过一些计算传播。使用表()总结40岁以上的女性的数量,以及无法确定该分类的样本数量。当R遇到一个NA.值,则引入NA.到的结果。观察这个(行NA.值引入到结果中)与使用子集()功能。

idx <- pdata$sex == "F" & pdata$age > 40 table(idx, useNA="ifany")
## idx ## FALSE TRUE  ## 108 17
dim(pdata[idx,]) #警告:'NA'行被引入
## [1] 20
尾(pdata [idx])
## COD诊断性别时代BT REFISSE CR DATE.CR T.4.11。t.9.22。# # 49006 49006 8/12/1998 F 43 B2 CR CR 11/19/1998 NA NA # # 57001 57001 1/29/1997 F 53 B3 < NA >死亡感应< NA >假假# # 62001 62001 11/11/1997 F 50 B4 REF REF < NA >假真# # NA.1 < NA > < NA > < NA > NA < NA > < NA > < NA > < NA > NA NA # # 02020 2020 3/23/2000 F 48 T2 < NA >死亡感应< NA >假假# # NA.2 < NA > < NA > < NA > NA < NA > < NA >  NA NA ## cyto正常的citog mol.biol融合。蛋白mdr kinet ccr复发移植f.u ## 49006 NA  BCR/ABL p210 NEG二倍体FALSE TRUE FALSE REL ## 57001 TRUE正常NEG  NEG hyperd。NA NA NA  ## 62001 FALSE t(9;22)+other BCR/ABL  NEG hyperd。< NA NA NA NA > # # NA.1 NA < NA > < NA > < NA > < NA > < NA > NA NA NA < NA > # # 02020错误的复杂alt。底片< NA > NEG dyploid NA NA NA < NA > # # NA.2 NA < NA > < NA > < NA > < NA > < NA > NA NA NA < NA > # # date.last.seen 4/26/1999 49006 # # # # # 62001 # 57001 < NA > < NA > # # NA.1 < NA > # # 02020 < NA > # # NA.2 < NA >
#更好:没有NA行
## [1] 17
尾部(子集(PDATA,IDX))
## COD诊断性别时代BT REFISSE CR DATE.CR T.4.11。t.9.22。# # 28032 28032 9/26/1998 F 52 B1 CR CR 10/30/1998真假# # 30001 30001 1/16/1997 F 54 B3 < NA >死亡感应< NA >假真# # 49006 49006 8/12/1998 F 43 B2 CR CR 11/19/1998 NA NA # # 57001 57001 1/29/1997 F 53 B3 < NA >死亡感应< NA >假假# # 62001 62001 11/11/1997 F 50 B4 REF REF < NA >假真正的# # 02020 2020 3/23/2000 F 48T2  DEATH IN INDUCTION  FALSE FALSE ## cyto.normal citog mol.biol fusion.protein mdr kinet ccr relapse transplant f.u ## 28032 FALSE t(4;11) ALL1/AF4  NEG dyploid TRUE FALSE FALSE CCR ## 30001 FALSE t(9;22)+other BCR/ABL p190 NEG hyperd. NA NA NA  ## 49006 NA  BCR/ABL p210 NEG dyploid FALSE TRUE FALSE REL ## 57001 TRUE normal NEG  NEG hyperd. NA NA NA  ## 62001 FALSE t(9;22)+other BCR/ABL  NEG hyperd. NA NA NA  ## 02020 FALSE complex alt. NEG  NEG dyploid NA NA NA  ## date.last.seen ## 28032 5/16/2002 ## 30001  ## 49006 4/26/1999 ## 57001  ## 62001  ## 02020 
##设置NA值为FALSE idx[is.na(idx)] <- FALSE dim(pdata[idx,])
## [1] 17

使用mol.biol列将数据子集化,只包含具有“BCR/ABL”或“NEG”的个体,例如:

BCRABL < -  PDATA [PDATA $ MOL.BIOL%IN%C(“BCR / ABL”,“NEG”),]

mol.biol列是一个因素,即使细分后也保留所有级别。保留因素级别有时是方便的,但在我们的情况下,我们使用droplevels ()删除未使用的级别

bcrabl美元摩尔。杂志< - droplevels (bcrabl mol.biol美元)

英国电信列是描述B-和t细胞亚型的因子

水平(BCRABL $ BT)
# #[1]“B”“B1”“B2”“B3”“B4”“T”“T1”“T2”“T3”“T4”

如何将B1 B2。。分解为单一的B类型,同理,T1 T2。。所以只有两个子类型,B和T?一种策略是替换两个字母的水平(例如,B1)单字母级别(例如,B).使用substring ()选择level的第一个字母,并使用新的值更新以前的级别水平< -

表(bcrabl BT美元)
## ## B B1 B2 B3 B4 T T1 T2 T3 T4 ## 4 9 35 22 9 5 1 15 9 2
<- substring(level (bcrabl$BT), 1, 1) table(bcrabl$BT)
## ## B T ## 79 32

使用总()在每个BCR / ABL和NEG组中计算具有B和T细胞类型的样本数量

集合(rownames(bcrabl) ~ BT + mol.biol, bcrabl, length)
## BT mol.biol rownames(bcrabl) ## 1 B BCR/ABL 37 ## 2 B NEG 42 ## 3 T NEG 32

使用总()计算BCR/ABL和NEG治疗组男女平均年龄。

汇总(年龄〜mol.biol +性别,bcrabl,平均值)
## # 1 BCR/ABL F 39.93750 ## 2 NEG F 30.42105 ## 3 BCR/ABL M 40.50000 ## 4 NEG M 27.21154

使用t.test ()比较BCR/ABL组和NEG组的年龄;使用以下方法将结果可视化箱线图().在这两种情况下,使用公式接口。参考帮助页面?T.Test.再做一次测试,假设两组的年龄差异是相同的。测试输出的哪些部分发生了变化?

t检验(年龄~ mol.biol, bcrabl)
# # # #韦尔奇两样本t检验# # # #数据:年龄mol.biol # # t = 4.8172, df = 68.529, p = 8.401 e-06 # #备择假设:真正的均数差不等于0 # # 95%置信区间:7.13507 - 17.22408 # # # #样本估计:# #是BCR / ABL组是在否定组# # 40.25000 - 28.07042
Boxplot(年龄~ mol.biol, bcrabl)