将R语言与php集成以获取R的结果
发布时间:2020-12-13 21:44:04 所属栏目:PHP教程 来源:网络整理
导读:我有以下R脚本 #assign data path data_path - "C:UsersOwnerDesktopRwork"; #assign valus to the following three percent train_per - 0.7; test_per - 0.2; val_per - 0.1; data - read.csv(file=paste(data_path,"test.csv",sep=""),sep=",
我有以下R脚本
#assign data path data_path <- "C:UsersOwnerDesktopRwork"; #assign valus to the following three percent train_per <- 0.7; test_per <- 0.2; val_per <- 0.1; data <- read.csv(file=paste(data_path,"test.csv",sep=""),sep=","); train_d <- sort(sample(nrow(data),nrow(data)*train_per)); train <- data[train_d,]; rem_train <- data[-train_d,]; test_d <- sort(sample(nrow(rem_train),nrow(data)*test_per)); test <- rem_train[test_d,]; validation <- rem_train[-test_d,]; m <- glm(der_var4~.,data=train,family=binomial()); coef_data <- data.frame(coef(m)); coef_data[7:8,"column_name"] <- NA; coef_data$column_name <- row.names(coef_data); write.table(coef_data,file=paste(data_path,"coef_data.csv",",row.names=FALSE); anova_data <- data.frame(anova(m)); anova_data[7:8,"column_name"] <- NA; anova_data$column_name <- row.names(anova_data); write.table(anova_data,"anova_data.csv",row.names=FALSE); 上面的脚本在R中正常运行.上面的脚本将创建两个csv文件. train_per ; test_per ; val_per ; 然后我必须将上面的值发送到R脚本,然后我必须从我的PHP代码运行该脚本.请帮助我我是R和PHP的新手.我正在尝试使用exec功能,但没有到达任何地方我也看过较旧的帖子,也在网上冲浪,但找不到任何解决方案. 解决方法
在PHP代码中,使用exec将变量传递给R
$response是R响应. exec("Rscript /path/to/rcode.R $a $b ",$response); $str = $response[0]; $myobj = json_decode($str); echo $myobj->first_name; 在你的R代码中(我的exmaple使用rcode.R) args <- commandArgs(TRUE) tmp <- strsplit(args," ") a <- as.numeric(tmp[[1]][1]) b <- as.numeric(tmp[[2]][1]) output <- list(first_name="Finau") library(rjson) cat(toJSON(output)) //你需要使用RJson for R (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |