我(非常!)是R和mysql的新手,几天来我一直在努力研究这个问题。所以我真的很感激任何帮助。
我需要用两个不同的表中的两个变量来完成一个数学表达式。从本质上讲,我试图弄清楚受试者在接受服务时的年龄(出生日期在一张表中)(服务日期在另一张表)。我有一个识别变量,它在两者中都是相同的。
我尝试过合并这些:
age<-merge("tbl1", "tbl2", by=c("patient_id") all= TRUE)
返回:
Error in fix.by(by.x, x) : 'by' must specify a uniquely valid column
我尝试过子设置,只保留感兴趣的变量,但不起作用,因为我认为子设置只适用于数字而不适用于字符。。正确的
再次感谢您的帮助。提前感谢
由于您是data.base的新手,我认为您应该在这里使用dplyr
。它是许多数据库提供者的抽象层。因此,您将不必处理数据库问题。在这里,我向您展示了一个简单的示例:
- 我阅读了MYSQL中的表格
- 合并表,假设具有唯一的共享变量
代码:
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)