基于rpy2中python的值修改r代码?

基于rpy2中python的值修改r代码?,python,r,rpy2,Python,R,Rpy2,我试图根据python中存储和计算的值修改R中的一行。以下是我使用的代码: def create_new_row_r(json_dict): newdata = robjects.r(''' createdata = function(row){ dummydata <- row dummydata["field1"]

我试图根据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
def创建新行(json dict):
newdata=robjects.r(“”)
createdata=函数(行){

dummydata对于字符串字段,您需要使用
%r
,因为
%s
不会为字符串添加引号

您还可以使用
json.dumps()