R语言选择数据子集

利用R进行分析时,有时候我们需要挑选部分变量或者行数据导出,或者需要分层分析,只对一部分数据进行分析,这个时候就需要我们利用R语言生成数据子集。主要包括三个方面的子集选择:

举例:数据集data.xlsx文件中包括ID、age、gender、weight、height、BMI、WBC、RBC。

1、只选择部分变量生成子集;

#导入数据

library(readxl)

data<-read_xlsx("d:/data/data.xlsx",header=T)

#数据子集中保留ID、age 、gender、weight、height、BMI六个变量。

vars<-c("ID","age","gender","weight","height","BMI")

data1<-data[vars]

data1<-data[c("ID","age","gender","weight","height","BMI")] #同上面两行代码的效果是一样的

data1<-data[,c("ID","age","gender","weight","height","BMI")] #也可以这样表达;

data1<-data[1:6]

data1<-data[,1:6]

#也可以通过删除不需要的变量来生成新子集;

data1<-data[c(-7,-8)] #当知道不需要的变量序号时

myvars<-names(data)  %in% c("WBC","RBC")

data1<-data[!myvars]

2、只选择部分观测形成新子集,使用subset()函数;例如选择年龄大于等于18岁小于60岁的人群;

data2<-subset(data,age>=18&age<60)

3、既选择部分变量又选择某一部分观测数据作为新子集;也是使用subset()函数,需要加入select参数;例如选择男性的身高、体重、BMI作为一个新数据集。

data3<-subset(data,gender=="M",select=c("ID","gender","weight","height","BMI"))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值