R语言实战-读书笔记 (第2章 创建数据集)

**********************************************************

与导图结合的脚本文件:
创建脚本:文件——新建脚本程序,将以下代码复制粘贴至脚本内,选中右键运行当前或所选代码。

setwd("E:\\R")
#vector#
a<- c(2:6)
a
b<-c(2,3,4,5,6)
b

#matrix#
cells <- c(1,26,24,68)
rnames <- c("R1", "R2")
cnames <- c("C1", "C2")
mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=TRUE,
dimnames=list(rnames, cnames))
mymatrix
mymatrix2 <- matrix(cells, nrow=2, ncol=2, byrow=FALSE,
dimnames=list(rnames, cnames))
mymatrix2

#array#
dim1 <- c("A1", "A2")
dim2 <- c("B1", "B2", "B3")
dim3 <- c("C1", "C2", "C3", "C4")
z <- array(1:24, c(2, 3, 4), dimnames=list(dim1, dim2, dim3))
z

#dataframe#
patientID <- c(1, 2, 3, 4)
age <- c(25, 34, 28, 52)
diabetes <- c("Type1", "Type2", "Type1", "Type1")
status <- c("Poor", "Improved", "Excellent", "Poor")
patientdata <- data.frame(patientID, age, diabetes, status)
patientdata
patientdata[1:2]
patientdata[c("diabetes", "status")]
patientdata$age
#生成糖尿病类型diabetes和病情status的列联表#
table(patientdata$diabetes, patientdata$status)

#factor#
diabetes <- c("Type1", "Type2", "Type1", "Type1")
diabetes <- factor(diabetes)
diabetes
diabetes1 <- c("Type1", "Type2", "Type1", "Type1")
diabetes1
status <- c("Poor", "Improved", "Excellent", "Poor")
#按照字母排序定levels#
status <- factor(status, ordered=TRUE)
status
#自定义排序水平#
status <- factor(status, order=TRUE,levels=c("Poor", "Improved", "Excellent"))
sex<-c(1,2,1,3,2)
#性别将被当成类别型变量,标签“Male”和“Female”将替代1和2在结果中输出,而且所有不是1或2的性别变量将被设为缺失值。#
sex <- factor(sex, levels=c(1, 2), labels=c("Male", "Female"))
sex

#列表 list#
g <- "My First List"
h <- c(25, 26, 18, 39)
j <- matrix(1:10, nrow=5)
k <- c("one", "two", "three")
mylist <- list(title=g, ages=h, j, k)
mylist

#变量标签#
names(patientdata)[2] <- "Age at hospitalization (in years)"
patientdata

#值标签#
gender<-c(1,2,1,2)
patientdata <- data.frame(patientID, age, gender,diabetes, status)
patientdata
patientdata$gender <- factor(patientdata$gender,levels = c(1,2),labels = c("male", "female"))
patientdata

**********************************************************

思维导图文字版,可忽略,供检索用,方便快速定位到导图相应位置。

R语言实战
第2章 创建数据集
    2.1 数据集的概念

        行表示观测,列表示变量
        R可以处理的数据类型(模式)包括数值型、字符型、逻辑型(TRUE/FALSE)、复数型(虚数)和原生型(字节)。
    2.2 数据结构
        2.2.1 向量  c()
用于存储数值型、字符型和逻辑型数据的一维数组。
注意,单个向量中的数据必须拥有相同的类型或模式(数值型、字符型或逻辑型)。
标量是只含一个元素的向量。
        2.2.2 矩阵 matrix()
是一个二维数组,只是每个元素都拥有相同的模式(数值型、字符型或逻辑型)。
            myymatrix <- matrix(vector, nrow=number_of_rows, ncol=number_of_columns,
byrow=logical_value, dimnames=list(char_vector_rownames, char_vector_colnames))
                vector:矩阵元素
                nrow, ncol:行和列的维数
                byrow=TERE/FALSE:矩阵按照行/列填充
                dimnames:以字符向量表示的行名和列名,可选
        2.2.3 数组 array()
与矩阵类似,但是维度大于2
            myarray <- array(vector, dimensions, dimnames)
        2.2.4 数据框 data.frame()
不同的列可包含不同模式的数据,最常使用
            mydata <- data.frame(col1, col2, col3,...)
                $:选取一个给定数据框中的某个特定变量
patientdata$age
                attach() 将数据框添加到R的搜索路径中。R在遇到一个变量名以后,将检查搜索路
径中的数据框
                detach() 将数据框从搜索路径中移除。值得注意的是,detach()并不会对数据框本身
做任何处理
                with()
        2.2.5 因子 factor()
类别(名义型)变量和有序类别(有序型)变量在R中称为因子(factor)。它决定了数据的分析方式以及如何进行视觉呈现。
            函数factor()以一个整数向量的形式存储类别值,整数的取值范围是[1...k](其中k是名义
型变量中唯一值的个数),同时一个由字符串(原始值)组成的内部向量将映射到这些整数上。简言之:确定levels
            要表示有序型变量,需要为函数factor()指定参数ordered=TRUE。因子的水平默认依字母顺序创建
        2.2.6 列表 list()
是R的数据类型中最为复杂的一种。一般来说,列表就是一些对象(或成分,component)的有序集合
            mylist <- list(object1, object2, ...)
    2.3 数据的输入
        2.3.3 导入Excel数据
            
read.xlsx(file, n),其中file是Excel工作簿的所在路径,n则为要导入的工作表序
                library(xlsx)
workbook <- "c:/myworkbook.xlsx"
mydataframe <- read.xlsx(workbook, 1)
            openxlsx包
                install.packages("openxlsx")
library(openxlsx)
c<-read.xlsx("watershed.xlsx",sheet=1)
head(c,3)

        导入SPASS数据
            install.packages("Hmisc")
library(Hmisc)
mydataframe <- spss.get("mydata.sav", use.value.labels=TRUE)
use.value.labels=TRUE表示让函数将带有值标签的变量导入为R中水平对应相同的因子
            通过foreign包中的函数read.spss()导入到R中
        2.3.9 导入 NetCDF 数据
            library(ncdf)
nc <- nc_open("mynetCDFfile")
myarray <- get.var.ncdf(nc, myvar)
    2.4 数据集的标注
        2.4.1 变量的标签
相当于变量的重命名
        2.4.2 值标签
用标签内容替代显示变量的内容
    2.5 处理数据对象的实用函数
       

发布了9 篇原创文章 · 获赞 19 · 访问量 6690

猜你喜欢

转载自blog.csdn.net/qq_36509256/article/details/105636924