空山新雨后,天气晚来秋

0%

R学习笔记(一)

前言

R语言轻便、简单、又开源。强大的统计和作图备受科研人员喜爱。

空间管理

不同的分析项目用不同的文件夹管理,是一个不错的选择。通过一系列命令,可以完成空间的定向,数据的读取、数据加载、数据保存,命令保存等操作。在任何项目开始前运行下面命令可以为您保持一个相对独立的工作环境。

getwd() 当前工作目录

setwd() 更改工作目录

save.image("myfiles") 保存工作空间

savehistory("myfiles") 保存历史命令

load("myfiles") 加载空间

把数据库文件放到setwd()的目录中,可以进行数据的读取等操作。工作完成后,保存空间和命令,下次打开之前用load()加载一下方可调用空间中既有的数据库。

读取Excel数据

首先把Excel转换成csv格式,用如下命令进行调用:

mydata <- read.table("xx.csv",header = TRUE,sep = ",",row.names="自定义变量")

注意head = TRUE要大写

数据库结构分析

dim(mydata) 显示观测数(行)和变量数(列)

str(mydata) 显示数据库中每个变量的性质和赋值

summary(mydata) 概括数据库,定性变量显示频率,定量变量显示均值等

names(mydata) 显示数据库中的所有变量名

fix(mydata) 显示一个可视化的数据框

数据库操作

  • 创建新变量

mydata <- transform(mydata,sumx = x1 + x2,meanx = (x1+x2)/2)

  • 变量重命名

names(mydata)[2] <- "newname" 2指的是变量在数据库中的第几列,可以通过names命令查看

names(mydata)[4:9] <- c("new1","new2",...) 批量重命名

  • 缺失值的处理

mydata$age[mydata$age == 99] <- NA 重编码

newdata <- na.omit(mydata) newdata中仅含有完整数据

z <- sum(x, na.rm = TRUE) 某函数分析时,na.rm = TRUE忽略缺失值,可查阅help,看此函数是否有该选项

  • 数据集选子集

    • 选入变量

    newdata <- mydata[,c(5:10)] 选取第5到10列变量

    或:

    myvars <- c("var1","var2","var3",...) 生成需要保留变量的向量

    newdata <- mydata[myvars] 直接输入,选取特定变量

    • 剔除变量

    myvars <- names(mydata) %in% c("var1","var2",...) var1, var2是要排除的变量

    newdata <- mydata[!myvars] !是逻辑反义

    newdata <- mydata[c(-2,-4,-5)] -2,-4,-5为names(mydata)后显示的变量位置

    • 选取观测

    newdata <- mydata[1:10,]

    特定条件选择

    newdata <- mydata[which(sex == "M" & age >18),]

    OR

    attach(mydata)

    newdata <- mydata[which(sex == "M" & age >18),]

    detach(mydata)

    • 高级技巧subset函数

    newdata <- subset(mydata, conditon1 &or| condition2 &or| condition3 &or| ... , select=c("var1","var2",...,"varN"))

    其中select=c(“var1”,”var2”,…,”varN”)可写成select=var1:varN

未完待续~