加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

将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文件.
但我想通过使用我的PHP代码来运行该脚本.我的主要目标是获取值
来自php的以下变量

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读