R语言中的一些基本应用

文章目录

  • 内存整理
  • 用R输出全部的排列情况
  • 数据中心化及标准化:
  • R语言中的字母序列
  • 给数据排序,得到次序索引
  • 按行读取数据,常用于文本数据
  • 读取xlsx文件
  • 举例说明
    • 具体代码
    • 结果如下
  • 查看一个package的简介
  • 查看R包中的数据集
  • 计算代码运行时间
  • 查看某一object中的属性
  • R中的三目运算符
  • R中图片的输出
  • 在R语言中执行ternimal命令
  • 时间序列中的时间格式设置

内存整理

memory.limit()查看虚拟内存分配情况
memory.limit(102400)#分配内存
memory.size()查看现在的workspace的内存使用情况
gc()清理内存

用R输出全部的排列情况

combn(n,m)

数据中心化及标准化:

#数据中心化
scale(data,center=T,scale=F) 
#数据标准化:  
scale(data,center=T,scale=T) 或默认参数scale(data)

R语言中的字母序列

> letters[1:10]
# [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"
> LETTERS[1:10]
 # [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J"

给数据排序,得到次序索引

import numpy as np
a=np.array([5,9,8,0,2,4])
ind=np.argsort(a)
a[ind]
#array([0, 2, 4, 5, 8, 9])
sorted(a)
[0, 2, 4, 5, 8, 9]
np.sort(a)#没有改变a
#array([0, 2, 4, 5, 8, 9])
a.sort()#改变了a
a
#array([0, 2, 4, 5, 8, 9])

按行读取数据,常用于文本数据

data<-readLines(filename,encoding="XXX")

读取xlsx文件

需要加载xlsx包,还需要安装java环境。
read.xlsx2比read.xlsx读取速度要快很多,不过在小数集下没啥区别。
使用如下:

编码问题:在excel保存文件的时候选择UTF-8格式,因此,在R中读取的时候,指定编码类型为UTF-8
表格索引问题:读取指定表的内容,可以通过下标索引,也可以通过表的名称。即 sheetIndex 或者 sheetName ,前者参数为纯数字,后者是字符串。
写入问题:在利用== write.xlsx==进行写入时,append=T表示在工作簿中追加一个新的sheet.

正确的一个实例如下:

library(rJava)
library(xlsx)
filename="C:/Users/zoujiahuibin/Desktop/work.xlsx"
data=read.xlsx(filename,sheetIndex=1,startRow=1,endRow=3,colIndex=c(1,2,3),encoding = "UTF-8")
write.xlsx(data, filename2, sheetName="Sheet1", col.names=T, row.names=F, append=F, showNA=F, password=NULL)

举例说明

**问题:**将一个xlsx表中第一行添加一个条目,并写入再另一个xlsx文件中
原始数据:
R语言中的一些基本应用_第1张图片

具体代码

library(rJava)
library(xlsx)
filename="C:/Users/zoujiahuibin/Desktop/zou/hui.xlsx"
filename2="C:/Users/zoujiahuibin/Desktop/zou/jia.xlsx"
data=read.xlsx(filename,sheetIndex=1,startRow=1,endRow=3,colIndex=c(1,2,3),encoding = "UTF-8")
addline=data.frame(数量='5克',单价='102元/克',总价=510)
data2=rbind(addline,data)
write.xlsx(data2, filename2, sheetName="Sheet1", col.names=T, row.names=F, append=F, showNA=F, password=NULL)

结果如下

在指定位置创建了一个新的文件jia.xlsx
R语言中的一些基本应用_第2张图片

查看一个package的简介

library(help="XX")

实例:

library(help="ggplot2")

R语言中的一些基本应用_第3张图片

查看R包中的数据集

data() #列出已载入的包中的所有数据集。
data(package = .packages(all.available = TRUE)) #列出已安装的包中的所有数据集。

data(package="XXX")#查看 XXX包中的数据集
data(lalonde, package="XXX")#从XXX包中加载数据lalonde

help("lalonde") #查看 lalonde 数据集的信息文档
?lalonde #查看 lalonde 数据集的信息文档

这里大神列出了datasets中的数据集:
https://blog.csdn.net/yjz_sdau/article/details/51510294

计算代码运行时间

###计算运行时间
begintime=Sys.time()
expr#代码块
endtime=Sys.time()
difftime(endtime,begintime,units = "secs") 
#units可以是“auto”, “secs”, “mins”, “hours”, “days”, “weeks”其中的一个

或者

system.time(expr)

查看某一object中的属性

attributes(obj)#查看对象obj得属性列表

R中的三目运算符

#R语言中的三目运算符

ifelse(1>0,1,2)

R中图片的输出

#在pdf中作图
pdf(filename.pdf)
print(figure)#或者plot()
dev.off()
#输出图片为jpg
jpeg(filename=fname,height=th,width=tw)
par(font.lab=2,font.axis=2,cex.lab=1.5,cex.axis=1.5)
y=y+1
plot(x,y,type="b",xlab="时间",ylab="得分",main=tmpname)
dev.off()

ggplot()作图可以利用专用的ggsave()函数

ggsave(filename =XXX.pdf,plot = figure,width=5,height=4)

在R语言中执行ternimal命令

system(“XXXX")

时间序列中的时间格式设置

可参考:
https://blog.csdn.net/glodon_mr_chen/article/details/84380373

你可能感兴趣的:(R)