R语言学习-基础篇1
###第一周:R基础
###矩阵相乘,函数diag()
a=matrix(1:12,nrow=3,ncol=4)
b=matrix(1:12,nrow=4,ncol=3)
a%*%b
a=matrix(1:16,nrow=4,ncol=4)
diag(a)#返回对角线元素
diag(diag(a))
diag(4)#对角线为1的单位矩阵
###矩阵求逆,函数rnorm(),solve()
a=matrix(rnorm(16),4,4)#产生4*4的随机数
solve(a)#矩阵求逆!!!!(逆矩阵)
b=c(1:4)
solve(a,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)
x
is.vector(x)#x是一个向量吗。
is.array(x)#x不是数组
dim(x)<-c(2,3)#增加维数,x变为数组
x
is.matrix(x)#x也是一个矩阵
####数据框,与矩阵的区别,矩阵每个元素都是数字(数组也类似),矩阵形式,但每列可以是不同的类型
x1=c(1,2,3,4,5,6,7,8,9,10)
length(x1)
x2=c(1,2,3,4,5,6,10,7,8,9)
length(x2)
x=data.frame(x1,x2)#向量组合成为数据框,可以是不同类型,数组或字符,x1与x2长度相等
(x=data.frame('重量'=x1,'运费'=x2))#替换列头
#画散点图,函数plot()
plot(x)
#读文本文件数据,先设置工作目录,把文本文件放于该目录下
x=read.csv("F:\\R语言\\data.csv")
#读剪贴板(文本或Excel数据可通过剪贴板操作)
y=read.table("clipboard",header = F)#header=T表示不读列头
#Excel文件(方法一:另存为空格分隔(就是原先的空格变为,)的prn文本格式再读)
w=read.table("F:\\R语言\\data.prn",header = T)
#方法2:安装RODBC包,再通过ODBC读
install.packages("RODBC")
library(RODBC)#装载包
z<-odbcConnectExcel("F:\\R语言\\student.xls")
(w<-sqlFetch(z,"Sheet1"))
a=0
for(i in 1:59){a[i]=i*2+3} #格式for(循坏变量 in 遍历范围){循坏体(向量a里的第i个元素=啥,将i按指定的规律赋值)}
a
for(i in 1:59){a[i]=i*2+3;b[i]=i*5-4}
b=0
b#(与a、b的初始值无关,但是要有初始值)
##while语句
a[1]=5
i=1
while(a[i]<121){i=i+1;a[i]=a[i-1]+2}##满足这个条件便开始循坏
a
###source()函数,print()函数
source("F:\\R语言\\learningR.R")##运行脚本语言
print(x)#在监控台来显示结果
######综合性例子,模拟产生统计专业同学的名单(学号区分),记录数学分析,线性代数,概率统计三科成绩,然后进行统计分析
num=seq(2120170400,2120170400)#seq()函数产生向量,产生100个不同的学号
num
#用runif和rnorm
#产生100个均匀分布的随机数,上限是100,下限是80,产生的向量可能会有小数点,用round()函数四舍五入
x1<-round(runif(100,min=80,max=100))
x1
x2=round(rnorm(100,mean = 80,sd=7))#均值为80,标准差为7,正态分布
x2
x3=round(rnorm(100,mean = 83,sd=18))#均值为83,标准差为18
x3
x3[which(x3>100)]=100#先找到大于100的数的下标,再将此下标对应的值赋值为100
##合成数据框并保存到硬盘
#data.frame()
#write.table()
x=data.frame(num,x1,x2,x3)
x
write.table(x,file = "F:\\R语言\\mark.txt",col.names = F,row.names = F,sep = " ")#将x数据框写入到文件指定的地方
##计算各科的平均分mean(),collMeans(),apply()
mean(x)###运行为NA
colMeans(x)##对列求平均值,会对学号也求平均值
colMeans(x)[c("x1","x2","x3")]#不显示列
apply(x,2,mean)#表示对x数据框作2(列)求mean操作,--1(行操作)
###求各科最高最低分
apply(x, 2, max)#对列求最高分
apply(x,2,min)#对列求最低分
##求每个人的总分
sum=apply(x[c("x1","x2","x3")],1,sum)
x=data.frame(num,x1,x2,x3,sum)
R语言学习-基础篇1的更多相关文章
- R语言学习-基础篇
从五月10日开始自学R in action,将我的学习所得逐渐发布在博客上. chapter1.新手上路 工作空间:存储着所有用户定义的对象(向量,矩阵,函数,数据框,列表): 当前的工目录保存是R用 ...
- R语言学习 第一篇:变量和向量
R是向量化的语言,最突出的特点是对向量的运算不需要显式编写循环语句,它会自动地应用于向量的每一个元素.对象是R中存储数据的数据结构,存储在内存中,通过名称或符号访问.对象的名称由大小写字母.数字0-9 ...
- R语言学习 第九篇:plyr包
在数据分析中,整理数据的本质可以归纳为:对数据进行分割(Split),然后应用(Apply)某些处理函数,最后将结果重新组合(Combine)成所需的格式返回,简单描述为:Split - Apply ...
- R语言学习基础一
笔者使用Rstudio编写R程序,本文主要总结在编写过程中遇到的一些实际 问题 与学习配套的的code上传到我的github,网址: https://github.com/LIU-HONGYANG/S ...
- R语言学习 第二篇:矩阵和数组
向量是一维的,只有行这一个维度,没有其他维度.R可以创建更高维度的数据对象,例如,矩阵.数据框.数组,索引高维度的对象时,需要使用元素的下标.这些对象的下标都使用中括号[]和索引,第一个维度是row, ...
- R语言学习 第四篇:函数和流程控制
变量用于临时存储数据,而函数用于操作数据,实现代码的重复使用.在R中,函数只是另一种数据类型的变量,可以被分配,操作,甚至把函数作为参数传递给其他函数.分支控制和循环控制,和通用编程语言的风格很相似, ...
- R语言学习 第十一篇:日期和时间
R语言的基础包中提供了三种基本类型用于处理日期和时间,Date用于处理日期,它不包括时间和时区信息:POSIXct/POSIXlt用于处理日期和时间,其中包括了日期.时间和时区信息.R内部在存储日期和 ...
- Docker虚拟化实战学习——基础篇(转)
Docker虚拟化实战学习——基础篇 2018年05月26日 02:17:24 北纬34度停留 阅读数:773更多 个人分类: Docker Docker虚拟化实战和企业案例演练 深入剖析虚拟化技 ...
- c语言学习基础:[1]开发工具介绍
标签:c语言 1 2 3 4 分步阅读 学习编程语言的童鞋们一开始接触到的最多的估计就是C语言了,其次才是什么java.c++等,可以说学习c语言是我们走向编程世界的一座桥梁,学好它,对于我们学习和研 ...
随机推荐
- python内置的进制转换方法
python进制转换方法总结表: ↓ 2进制 8进制 10进制 16进制 2进制 - bin(int(x, 8)) bin(int(x, 10)) bin(int(x, 16)) 8进制 oct(in ...
- RPM命令执行失败:bash: rpm: 未找到命令...
出现错误截图如下: 这是由于误操作导致rpm文件缺失导致 将另一台完好的服务器上RPM文件及缺失文件上传至异常服务器上即可修复 异常服务器A:192.168.1.230 完好服务器B: 任意 服务器B ...
- day20191106
笔记: 一.#{}和${}的区别是什么 1)#{}是预编译处理,${}是字符串替换.2)Mybatis 在处理#{}时,会将 sql 中的#{}替换为?号,调用 PreparedStatement 的 ...
- jvm垃圾回收器与内存分配策略
一.判断对象存活的算法 1.引用计数算法 (1)概念:给对象中添加一个引用计数器每当有一个地方引用它时,计数器值加1:当引用失效时,计数器就减1:任何时刻计数器为0的对象就是不可能再被使用的. (2) ...
- 第四章 开始Unity Shader学习之旅(2)
目录 1. 强大的援手:Unity提供的内置文件和变量 1.1 内置的包含文件 1.2 内置的变量 2. Unity提供的Cg/HLSL语义 2.1 什么是语义 2.2 Unity支持的语义 2.3 ...
- HC大会,华为联合合作伙伴发布一站式物联网IoT开发工具小熊派BearPi
传统的物联网产品开发步骤复杂,涉及硬件开发.软件开发.云端开发等众多流程.而且产品的开发周期长.开发成本高.产品稳定性不佳.维护成本高.而物联网设备本身市场竞争激烈,价格低,设备更新迭代快,所以在保证 ...
- mac+chrome 最常用快捷键
12个mac快捷键 命令 含义 command+空格 (先摁command再摁空格) Spotlight搜索 crt+command+F 最大化和关闭最大化切换 Command+H 隐藏当前窗口 Co ...
- 2019 牛客国庆集训派对day1-C Distinct Substrings(exkmp+概率)
链接:https://ac.nowcoder.com/acm/contest/1099/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...
- 四点之间最短路(spfa+优先队列+枚举优化)UESTC1955喜马拉雅山上的猴子
喜马拉雅山上的猴子 Time Limit: 1000 MS Memory Limit: 256 MB Submit Status 余周周告诉我喜马拉雅山上有猴子,他们知道点石成金的方法.我不信 ...
- 洛谷 Atcoder 题解 AT2585 【Colorful Leaderboard】
目测 普及/提高- 难度. 思路 将 9 种可能的等级存储在数组里,则 min 值为分数为 0 ~ 3199 的颜色种类个数,max 值为 min 值加上分数 >3200 的人数. 特判 若分数 ...