R Mysql帮助 - 需要从不同表中的变量进行计算

时间:2015-04-01 02:38:33

标签: r merge

我(非常!)是R和mysql的新手,我一直在努力研究这个问题好几天。所以我真的很感激任何帮助。

我需要从两个不同的表中的2个变量中完成一个数学表达式。从本质上讲,我试图弄清楚当一个主题服务时(DOB在一个表中)的年龄(服务日期在另一个表中)。我有一个两个相同的识别变量。

我尝试合并这些:

age<-merge("tbl1", "tbl2", by=c("patient_id") all= TRUE)

返回:

Error in fix.by(by.x, x) : 'by' must specify a uniquely valid column

我已经尝试过子设置,我只保留感兴趣的变量,但是没有用,因为我认为子设置只适用于不是字符的数字..是什么?

再次,我将不胜感激任何帮助。提前致谢

1 个答案:

答案 0 :(得分:0)

由于您不熟悉data.base,我认为您应该在这里使用dplyr。它是许多数据库提供者的抽象层。所以你不必处理db问题。在这里,我向您展示一个简单的例子:

  1. 我从MYSQL中读到了表格
  2. 合并表格,假设具有唯一共享变量
  3. 代码:

    library(dplyr)
    library(RMySQL)
    ## create a connection
    SDB <- src_mysql(host = "localhost", user = "foo", dbname = "bar", password = getPassword())
    # reading tables
    tbl1 <- tbl(SDB, "TABLE1_NAME")
    tbl2 <- tbl(SDB, "TABLE2_NAME")
    ## merge : this step can be done using dplyr also 
    age <- merge(tbl1, tbl2, all= TRUE)