我(非常!)是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
我已经尝试过子设置,我只保留感兴趣的变量,但是没有用,因为我认为子设置只适用于不是字符的数字..是什么?
再次,我将不胜感激任何帮助。提前致谢
答案 0 :(得分:0)
由于您不熟悉data.base,我认为您应该在这里使用dplyr
。它是许多数据库提供者的抽象层。所以你不必处理db问题。在这里,我向您展示一个简单的例子:
代码:
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)