如何解决使用网状在 RStudio 中编码时在 Python 代码中使用 R 函数
我有一个有趣的问题。使用 reticulate
可以在 R 中使用 python 函数。我还注意到你可以在 Python 中使用简单的 R 函数。例如,如果我获取此 R 代码:
library(reticulate)
# a vector in R
my_vec <- c("data engineering","data science")
# a function in R
unique_words <- function(string) {
unique(unlist(strsplit(string," ")))
}
如果我在同一个项目中用 Python 编码,我可以这样做:
my_list=r.my_vec
unique_words=r.unique_words
unique_words(my_list)
我按预期得到了这个输出:
['data','engineering','science']
然而,我试图做一些比这更复杂的事情。我想看看我是否可以使用 R 中的 MASS::polr()
在 Python 中运行比例优势逻辑回归。我设置了我的 R 包并创建了一个小函数来输出结果数据框:
library(MASS)
library(broom)
my_polr <- function(formula,data) {
model <- polr(formula,data,Hess = TRUE)
tidy(model)
}
然后我尝试在 Python 中的 Space Shuttle Challenger 数据集上运行:
import pandas as pd
# get orings data
orings=pd.read_csv("https://raw.githubusercontent.com/keithmcnulty/logit_regression_training/main/orings.csv")
# make damage ordered category for my_polr
orings['damage'] = pd.Categorical(orings['damage'],ordered=True,categories=[0,1,2,3,4,5])
# run
my_polr = r.my_polr
my_polr('damage~temp',orings)
但是,当我尝试这样做时,Python 中没有任何反应。我想知道以前是否有人尝试过这个,为什么上面的简单函数似乎可以工作,但这个函数却没有。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。