问题描述
我只是尝试了以下方法:
read_file.to_csv (r'C:\Users\Desktop\workspace\Converter\20200923.csv',index=False)
并收到此错误
import rpy2
import rpy2.robjects as RObjects
from rpy2.robjects.packages import importr
princurve = importr('princurve',robject_translations = {"plot_principal_curve": "plot.principal.curve"})
princurve = importr('princurve',robject_translations = {"points_principal_curve": "points.principal.curve"})
有人可以帮忙吗?
解决方法
您快到了!在robject_translations
中,您需要提供R名称-> Python名称映射,但是您的字典似乎却与此相反。您还需要将所有映射都放在一个字典中。为了使其更加清晰,您可以像这样解决冲突:
princurve_example_1 = importr(
"princurve",robject_translations={
"plot.principal.curve": "plot_dot_principal_dot_curve","lines.principal.curve": "lines_dot_principal_dot_curve","points.principal.curve": "points_dot_principal_dot_curve",# optional (if omitted,you will get them under plot_principal_curve,etc.):
"plot.principal_curve": "plot_dot_principal_curve","lines.principal_curve": "lines_dot_principal_curve","points.principal_curve": "points_dot_principal_curve"
}
)
# then,after creating the curve and storing it in curve variable:
princurve_example_1.plot_dot_principal_dot_curve(curve)
# or
princurve_example_1.plot_dot_principal_curve(curve)
但是,在咨询了pincurve documentation之后,我发现principal.curve
已过时,您应该改用principal_curve
(很高兴看到更多的R包最终转向使用下划线的约定。函数和变量名!);因此,您可以这样做:
princurve = importr(
"princurve",robject_translations={
"plot.principal.curve": "plot_principal_curve_deprecated","lines.principal.curve": "lines_principal_curve_deprecated","points.principal.curve": "points_principal_curve_deprecated",}
)
# auto-generated from "plot.principal_curve"
princurve.plot_principal_curve(curve)
# manually mapped from "plot.principal.curve"
princurve.plot_principal_curve_deprecated(curve)