• R语言学习-基础篇1


    ###第一周:R基础

    rm(list = ls())  #ctr+L
    ###矩阵相乘,函数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"))
    #####循坏语句(for语句)
    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)
  • 相关阅读:
    八十四、SAP中的ALV创建之三,创建ALV表格
    八十三、SAP中的ALV创建之二,ALV相关的类型池定义
    八十二、SAP中的ALV创建之一,新建一个程序
    八十一、SAP中的ALV的简介(ABAP List Viewer)
    八十、SAP中数据库操作之 (FOR ALL ENTRIES IN )用法,比较难明白
    七十九、SAP中数据库操作之更新数据,UPDATE的用法
    七十八、SAP中数据库操作之查询条数限制
    七十七、SAP中数据库操作之多表联合查询
    七十六、SAP中数据库的查询用法之 COUNT(总数),SUM(求和),AVG(求平均),GROUP BY(分组)
    七十五、SAP中数据库的使用SQL
  • 原文地址:https://www.cnblogs.com/orangepig/p/12016360.html
Copyright © 2020-2023  润新知