def r_cal(df): string = """ ptsPPP <- function(df) { X <- with(df, ppp(x, y, c(-25,25), c(-25,25))) plot(X) return(X) } """ sp = SignatureTranslatedAnonymousPackage(string, "powerpack") pandas2ri.activate() r_num_meanDis_DF = pandas2ri.py2ri(df[["x", "y"]]) ptsPPP = sp.ptsPPP(r_num_meanDis_DF)