第一步:安装rJava和jdk
install.packages("rJava")
配置好java
第二步:设置环境变量 ,涉及java调用R(我的电脑右键-属性-高级设置-环境变量)
CLASSPATH=D:\soft\R-3.0.1\library\rJava\jri
PATH=D:\soft\R-3.0.1\bin\x64
R_HOME=D:\soft\R-3.0.1
第三步:D:\soft\R-3.0.1\library\\rJava\jri的3个类包, 复制黏贴,
放到C:\Program Files\Java\jdk1.7.0_05\lib下面
JRIEngine.jar
JRI.jar
REngine.jar
即可实现 library(rJava)
这位童鞋,你好,其实rJava只是一个R包而已,某些R包的运行,可能依赖于这个包,例如读取xls表格的xlsx包;只需要在命令行输入install.packages("rJava"):
即可轻松安装上了。
业务分析过程中,常常会出现需要重建历史数据的情况,而历史数据往往分布在同构但不同的文件中,因此批量导入就派上用场了,这里以我的第一个R语言批量导入Excel为案例进行介绍。#载入相关R包
library(rJava)
library(xlsxjars)
library(xlsx)
library(readxl)
library(data.table)
library(dplyr)
# 数据逻辑先验
a1 <- c(0:9)
a2 <- c(5:12,1,2)
a <- data.frame(a1,a2)
a$a <- ((a$a1 + 4) %% 12) + 1
# 路径设置
path.1 <- c("d:\\R")
# for循环与if嵌套实现不同名称对应
for (i in 0:9) {
if(i <5) {A = "180"}
if(i >= 5 &i <8) { A = "18"}
if(i >= 8) {A = "190"}
d = paste0(A, ((i + 4) %% 12) + 1)
path <- paste0(path.1,'\\', d, '-bfz.xlsx')
assign(paste0("bfz-",d), read_excel(path,skip = 4))
i=i+1
}
bd_mob0 <- data.frame()
bd_mob1 <- data.frame()
for (i in 1:length(file_names)){
excel_path <- paste0(path1,file_names[i])
sheet_name <- excel_sheets(excel_path)[6]
bd_mob0 <- cbind(read_excel(excel_path,sheet = sheet_name, skip =3),
账期 = substr(file_names[i],18,25)) # 加入账期
bd_mob1 <- rbind(bd_mob1, bd_mob0)