[英]modifying r code based on values of python in rpy2?
我试图根据在python中存储和计算的值修改R中的一行。 这是我使用的代码:
def create_new_row_r(json_dict):
newdata = robjects.r('''
createdata = function(row){
dummydata <- row
dummydata["field1"] <- %s
dummydata["field2"] <- %s
dummydata["field3"] <- %i
dummydata["field4"] <- %s
dummydata["field5"] <- %i
dummydata["field6"] <- %s
dummydata["field7"] <- %i
dummydata["field8"] <- %i
dummydata["field8"] <- %i
dummydata["field9"] <- %i
dummydata["field10"] <- %i
dummydata["field11"] <- %i
return(dummydata)
}
createdata(datz1[1,])
'''
%(json_dict["field1"], json_dict["field2"], json_dict["field3"],
json_dict["field4"], json_dict["field5"],
json_dict["field6"], json_dict["field7"], json_dict["field8"],
json_dict["field9"], json_dict["field10"],
json_dict["field11"], json_dict["field12"]))
print "new row assembled"
return newdata
然后,我调用此函数并传入包含这些值和数据类型的json_dict。 我期望这将返回robject“ dummydata”,如rpy2“运行r代码”文档中所述:
http://rpy.sourceforge.net/rpy2/doc-dev/html/introduction.html
但是此代码无法正常工作或引发任何错误(除了使我正在运行的API在被调用时崩溃)
是否有可能做到这一点? 我把代码弄乱了吗? 有没有更好的方法可以做到这一点?
谢谢,会投票
对于字符串字段,您需要使用%r
因为%s
不会为字符串添加引号。
您也可以使用json.dumps()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.