文章目录
- 内存整理
- 加权平均weighted.mean(x,w,...)
- 反转函数rev(x)
- 关闭warning的提示
- 用R输出全部的排列情况
- 数据中心化及标准化:
- R语言中的字母序列
- 给数据排序,得到次序索引
- 按行读取数据,常用于文本数据
- 读取xlsx文件
- 举例说明
- 具体代码
- 结果如下
- 查看一个package的简介
- 查看R包中的数据集
- 计算代码运行时间
- 查看某一object中的属性
- R中的三目运算符
- R中图片的输出
- 在R语言中执行ternimal命令
- 时间序列中的时间格式设置
内存整理
memory.limit()查看虚拟内存分配情况
memory.limit(102400)#分配内存
memory.size()查看现在的workspace的内存使用情况
gc()清理内存
加权平均weighted.mean(x,w,…)
- x:是需要加权的对象
- w:是一个数值向量,长度与x一致
> weighted.mean(c(1,2,3),w=c(-1,1,0.5))
# [1] 5
反转函数rev(x)
> rev(c(1,2,3))
[1] 3 2 1
> rev(list(a=c(1,2,3),b='a'))
# $b
# [1] "a"
# $a
# [1] 1 2 3
关闭warning的提示
options(warn =-1)
用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文件中
原始数据:
具体代码
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
查看一个package的简介
library(help="XX")
实例:
library(help="ggplot2")
查看R包中的数据集
data()
#列出已载入的包中的所有数据集。data(package = .packages(all.available = TRUE))
#列出已安装的包中的所有数据集。
data(package="XXX")
#查看 XXX包中的数据集data(lalonde, package="XXX")
#从XXX包中加载数据lalonde
help("lalonde")
#查看 lalonde 数据集的信息文档?lalonde
#查看 lalonde 数据集的信息文档
这里大神列出了datasets中的数据集:
计算代码运行时间
###计算运行时间
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")