Ding, Yuan Chun
2018-Apr-18 17:37 UTC
[R] merge two data frame based on equal and unequal comparisons
Dear R users, I need to merge two data frames based on both equal and unequal comparisons. The "sqldf" package used to work well , but today, I cannot resolve the following error by reinstallation of the sqldf package. Can anyone suggest a different way to perform this kind of merge function? Thank you, Ding> DMRlog2pbde47DMS <- sqldf("select * from DMR_log2pbde47 as a left join DMS_log2pbde47 as b+ on a.chrom = b.chromosome and a.start <= b.MAPINFO and a.end >= b.MAPINFO" ) Error in get(as.character(FUN), mode = "function", envir = envir) : object 'as.AsIs' of mode 'function' was not found --------------------------------------------------------------------- -SECURITY/CONFIDENTIALITY WARNING- This message (and any attachments) are intended solely f...{{dropped:22}}
Ding, Yuan Chun
2018-Apr-18 20:43 UTC
[R] merge two data frame based on equal and unequal comparisons
HI All, I found that other R users experienced the same problem when using sqldf package. An expert provided solution, adding "method="raw" at the end as below, one or more of the columns in my data.frame are of class "AsIs" ( I don't know what it is) . When sqldf retrieves the result from SQLite it will be numeric or character and since it was originally of class AsIs, it tries to convert it back but R provides no as.AsIs, so it fails; use method = "raw", so sqldf will not try to convert the results from the database. DMRlog2pbde47DMS <- sqldf("select * from DMR_log2pbde47 as a left join DMS_log2pbde47 as b on a.chrom = b.chromo and a.start <= b.MAPINFO and a.end >= b.MAPINFO", method = "raw" ) -----Original Message----- From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Ding, Yuan Chun Sent: Wednesday, April 18, 2018 10:38 AM To: r-help at r-project.org Subject: [R] merge two data frame based on equal and unequal comparisons [Attention: This email came from an external source. Do not open attachments or click on links from unknown senders or unexpected emails.] Dear R users, I need to merge two data frames based on both equal and unequal comparisons. The "sqldf" package used to work well , but today, I cannot resolve the following error by reinstallation of the sqldf package. Can anyone suggest a different way to perform this kind of merge function? Thank you, Ding> DMRlog2pbde47DMS <- sqldf("select * from DMR_log2pbde47 as a left join > DMS_log2pbde47 as b+ on a.chrom = b.chromosome and a.start <= + b.MAPINFO and a.end >= b.MAPINFO" ) Error in get(as.character(FUN), mode = "function", envir = envir) : object 'as.AsIs' of mode 'function' was not found --------------------------------------------------------------------- -SECURITY/CONFIDENTIALITY WARNING- This message (and any attachments) are intended solely f...{{dropped:9}}