R语言学习
2015-06-10 19:15
337 查看
sd计算样本的标准差
var计算样本的方差
cor计算两个变量间的相关系数
cov计算两变量间的协方差
使用函数library或者函数require把需要的R包载入R中:
library函数中的R包名不需要用双引号括起来。
detach(package:MASS)函数会卸载当前已载入的R包。
调用其他R包中的数据集,使用data函数并给出数据集名称和包名称
data(dsname, package="pkgname")
print函数对向量进行一致的格式化:先找到格式化最小数值所必须的位数,然后把所有数据格式化为相同的宽度。
cat("The answer is", 3, "\n", file="out.txt")
con <- file("out.txt", "w")
cat(data, file=con)
cat(results, file=con)
cat(conclusion, file=con)
close(con)
read.fwf("filename", widths=c(w1,w2,...,wn))
向量是同性质的,有一个名称(names)属性。
列表是非同性质的。
向量有一个属性称为维数dim.其初始值为NULL。
一个数据框实际上是一个列表:
数据框的列必须命名。
dfrm[i], dfrm[[i]],dfrm$name
dfrm[i,j] dfrm[i,] dfrm[,j]
有一个字符串向量或整数向量。需要R将它们视为一个因子,R的术语将其叫做分类变量
每一个分类变量的可能值称为一个水平。一个由水平值构成的向量叫做因子。
lst <- list()
lst$far.left <- 0.023
lst$left <- 0.159
lst$mid <- 0.500
lst$right <- 0.841
lst$far.right <- 0.977
values <- pnorm(-2:2)
names <- c("far.left", "left", "mid", "right", "far.right")
lst <- list()
lst[names] <- values
将NULL赋给要移除的元素,R会将该元素从列表中移除
unlist将列表转换为向量
假设lst是一部分元素为NULL的列表:
lst[sapply(lst, is.null)] <- NULL 移除NULL元素
lst[lst <0] <- NULL 移除所有负值
可以通过一个逻辑向量索引列表,无论什么情况只要向量元素为TRUE,它相应的列表元素就可以选定。其次,可以通过把NULL赋值给一个列表元素的方法来移除它。
mods[sapply(mods, function(m) summary(m)$r.squared < 0.3)] <- NULL
矩阵是逐列而非逐行填充的
mat <- matrix(c(1.1,1.2,1.3,2.1,2.2,2.3), 2,3,byrow=TRUE)
t(A) 矩阵的转置
solve(A) 矩阵求逆
A %*% B 矩阵A与矩阵B相乘
diag(n) 一个n阶对角矩阵
每个矩阵都有一个rownames和colnames属性
vec <- mat[1,] 第一行
vec <- mat[,3]第三列
row <- mat[1,,drop=FALSE]
给数据框添加一行或更多新行
newRow <- data.frame(city="West Dundee", country="Kane", state="IL", pop=5428)
suburbs <- rbind(suburbs, newRow)
suburbs <- rbind(suburbs, data.frame(city="West Dundee", county="Kane", state="IL", pop=5428))
dfrm是一个数据框
dfrm[
]返回一列
dfrm[,vec,drop=FALSE]
dfrm <- as.data.frame(mat)
colnames(dfrm) <- c("before", "treatment", "after")
clean <- na.omit(dfrm)
z <- with(suburbs, (pop-mean(pop)))/sd(pop)
as.character(x)
as.complex(x)
as.numeric(x) or as.double(x)
as.integer(x)
as.logical(x)
results <- apply(mat, 1, fun) 第二个参数设为1,表明逐行来应用一个函数。
result <- apply(mat, 2, fun) 第二个参数为2,表明逐列应用该函数。
lst <- lapply(dfrm, fun) 把函数应用于数据框的连续列,返回值存储到一个列表
vec <- sapply(dfrn, fun) 返回值存储到一个向量。
runif(1)
binom 二项分布
geom 几何分布
hyper 超几何分布
pois 泊松分布
annova(m)
给出方差分析表
coefficients(m) coef(m)
给出模型系数
confint(m) 给出回归系数的置信区间
deviance(m) 给出残差平方和
letters(1:30)
which.max(a)
which(a==2)
a[which.max(a)]
which(a>5)
a[which(a>5)]
rev(a) //把向量颠倒
sort(a) //把向量排序
a1=c(1:12)
matrix(a1, nrow=3, ncol=4)
matrix(a1, nrow=3, ncol=4, byrow=T)
矩阵的运算
t(a1) //转置
a+b
a-b
a %*% b
a=matrix(1:16, 4, 4)
diag(a)
diag(diag(a))
diag(4) //4代表维数
solve(a) //逆矩阵
solve(a,b) //解方程组,ax=b
eigen() //求特征值
a=diag(4)+1
a.e=eigen(a, symmetric=T)
a.e
a.e$vectors%*%diag(a.e$values)%*%t(a.e$vectors)
x=c(1:6)
is.vector(x)
dim(x) <- c(2,3)
is.array(x)
is.matrix(x)
data.frame(x1,x2)
w <- read.table("test.txt", header=T)
mean(x) colMeans(x) colMeans(x)[c("x1","x2","x3")]
apply(x, 2, mean)
apply(x[c("x1","x2","x3")], 1, sum)
which.max(apply(x[c("x1", "x2", "x3")], 1, sum))
x$num[which.max(apply(x[c("x1","x2","x3")], 1, sum))]
table(x$x1)
barplot(table(x$x1))
pie(table(x$x1))
boxplot(x$x1, x$x2, x$x3)
boxplot(x[2:4], col=c("red", "green", "blue"), notch=T)
boxplot(x[2:4], col=c("red", "green", "blue"), horizontal=T)
QQ图
plot(x$x1, x$x2, main="数学分析与线性代数成绩的关系",xlab="数学分析",ylab="线性代数",xlim=c(0,100),ylim=c(0,100), xaxs="i", yaxs="i", col="red", pch=19)
plot(a, b, type='l')
lines(rain$NewYork, type='l', col="blue", lwd=2)
plot(density(rnorm(100)))
类别(名义型)变量和有序类别(有序型)变量在R中称为因子。
函数factor()以一个整数向量的形式存储类别值,整数的取值范围是[1...k](其中k是名义型变量中唯一值的个数),同时一个字符串(原始值)组成的内部向量将映射到这些整数上。
要表示有序型变量,需要为factor()指定参数ordered=TRUE
var计算样本的方差
cor计算两个变量间的相关系数
cov计算两变量间的协方差
使用函数library或者函数require把需要的R包载入R中:
library函数中的R包名不需要用双引号括起来。
detach(package:MASS)函数会卸载当前已载入的R包。
调用其他R包中的数据集,使用data函数并给出数据集名称和包名称
data(dsname, package="pkgname")
print函数对向量进行一致的格式化:先找到格式化最小数值所必须的位数,然后把所有数据格式化为相同的宽度。
cat("The answer is", 3, "\n", file="out.txt")
con <- file("out.txt", "w")
cat(data, file=con)
cat(results, file=con)
cat(conclusion, file=con)
close(con)
read.fwf("filename", widths=c(w1,w2,...,wn))
向量是同性质的,有一个名称(names)属性。
列表是非同性质的。
向量有一个属性称为维数dim.其初始值为NULL。
一个数据框实际上是一个列表:
数据框的列必须命名。
dfrm[i], dfrm[[i]],dfrm$name
dfrm[i,j] dfrm[i,] dfrm[,j]
有一个字符串向量或整数向量。需要R将它们视为一个因子,R的术语将其叫做分类变量
每一个分类变量的可能值称为一个水平。一个由水平值构成的向量叫做因子。
lst <- list()
lst$far.left <- 0.023
lst$left <- 0.159
lst$mid <- 0.500
lst$right <- 0.841
lst$far.right <- 0.977
values <- pnorm(-2:2)
names <- c("far.left", "left", "mid", "right", "far.right")
lst <- list()
lst[names] <- values
将NULL赋给要移除的元素,R会将该元素从列表中移除
unlist将列表转换为向量
假设lst是一部分元素为NULL的列表:
lst[sapply(lst, is.null)] <- NULL 移除NULL元素
lst[lst <0] <- NULL 移除所有负值
可以通过一个逻辑向量索引列表,无论什么情况只要向量元素为TRUE,它相应的列表元素就可以选定。其次,可以通过把NULL赋值给一个列表元素的方法来移除它。
mods[sapply(mods, function(m) summary(m)$r.squared < 0.3)] <- NULL
矩阵是逐列而非逐行填充的
mat <- matrix(c(1.1,1.2,1.3,2.1,2.2,2.3), 2,3,byrow=TRUE)
t(A) 矩阵的转置
solve(A) 矩阵求逆
A %*% B 矩阵A与矩阵B相乘
diag(n) 一个n阶对角矩阵
每个矩阵都有一个rownames和colnames属性
vec <- mat[1,] 第一行
vec <- mat[,3]第三列
row <- mat[1,,drop=FALSE]
给数据框添加一行或更多新行
newRow <- data.frame(city="West Dundee", country="Kane", state="IL", pop=5428)
suburbs <- rbind(suburbs, newRow)
suburbs <- rbind(suburbs, data.frame(city="West Dundee", county="Kane", state="IL", pop=5428))
dfrm是一个数据框
dfrm[
]返回一列
dfrm[,vec,drop=FALSE]
dfrm <- as.data.frame(mat)
colnames(dfrm) <- c("before", "treatment", "after")
clean <- na.omit(dfrm)
z <- with(suburbs, (pop-mean(pop)))/sd(pop)
as.character(x)
as.complex(x)
as.numeric(x) or as.double(x)
as.integer(x)
as.logical(x)
results <- apply(mat, 1, fun) 第二个参数设为1,表明逐行来应用一个函数。
result <- apply(mat, 2, fun) 第二个参数为2,表明逐列应用该函数。
lst <- lapply(dfrm, fun) 把函数应用于数据框的连续列,返回值存储到一个列表
vec <- sapply(dfrn, fun) 返回值存储到一个向量。
runif(1)
binom 二项分布
geom 几何分布
hyper 超几何分布
pois 泊松分布
annova(m)
给出方差分析表
coefficients(m) coef(m)
给出模型系数
confint(m) 给出回归系数的置信区间
deviance(m) 给出残差平方和
letters(1:30)
which.max(a)
which(a==2)
a[which.max(a)]
which(a>5)
a[which(a>5)]
rev(a) //把向量颠倒
sort(a) //把向量排序
a1=c(1:12)
matrix(a1, nrow=3, ncol=4)
matrix(a1, nrow=3, ncol=4, byrow=T)
矩阵的运算
t(a1) //转置
a+b
a-b
a %*% b
a=matrix(1:16, 4, 4)
diag(a)
diag(diag(a))
diag(4) //4代表维数
solve(a) //逆矩阵
solve(a,b) //解方程组,ax=b
eigen() //求特征值
a=diag(4)+1
a.e=eigen(a, symmetric=T)
a.e
a.e$vectors%*%diag(a.e$values)%*%t(a.e$vectors)
x=c(1:6)
is.vector(x)
dim(x) <- c(2,3)
is.array(x)
is.matrix(x)
data.frame(x1,x2)
w <- read.table("test.txt", header=T)
mean(x) colMeans(x) colMeans(x)[c("x1","x2","x3")]
apply(x, 2, mean)
apply(x[c("x1","x2","x3")], 1, sum)
which.max(apply(x[c("x1", "x2", "x3")], 1, sum))
x$num[which.max(apply(x[c("x1","x2","x3")], 1, sum))]
table(x$x1)
barplot(table(x$x1))
pie(table(x$x1))
boxplot(x$x1, x$x2, x$x3)
boxplot(x[2:4], col=c("red", "green", "blue"), notch=T)
boxplot(x[2:4], col=c("red", "green", "blue"), horizontal=T)
QQ图
plot(x$x1, x$x2, main="数学分析与线性代数成绩的关系",xlab="数学分析",ylab="线性代数",xlim=c(0,100),ylim=c(0,100), xaxs="i", yaxs="i", col="red", pch=19)
plot(a, b, type='l')
lines(rain$NewYork, type='l', col="blue", lwd=2)
plot(density(rnorm(100)))
类别(名义型)变量和有序类别(有序型)变量在R中称为因子。
函数factor()以一个整数向量的形式存储类别值,整数的取值范围是[1...k](其中k是名义型变量中唯一值的个数),同时一个字符串(原始值)组成的内部向量将映射到这些整数上。
要表示有序型变量,需要为factor()指定参数ordered=TRUE
相关文章推荐
- IOCP 浅析与实例
- USB-HID简介(转)
- 认识自己——我所丧失的能力
- python爬虫解决百度贴吧登陆验证码问题
- 宏定义基本用法---【以备不时之需】
- 用完成端口开发大响应规模的Winsock应用程序
- [Unity3D]Unity4全新的动画系统Mecanim
- 漫谈正态分布的生成
- ACM选修(栈与队列)
- 229_尚学堂_高淇_java300集最全视频教程_【GOF23设计模式】_简单工厂模式详解
- UVa 548 - Tree【二叉树的递归遍历(DFS)】
- apache2.4 虚拟主机配置
- 【日常】记一次烦人的Apple Airport Express Base Station配置
- java.util.Date和java.sql.Date的区别及应用
- The account is locked
- USB入门基础知识(转)
- k-means学习
- IOCP不可忽视的细节
- 微信开放平台-管理中心-应用删除
- JSON解析---初识