R语言中调用SQL语言进行数据处理

在日常工作分析处理数据时,经常会调用Access数据库中的数据(因为工作中大型数据通常会以access库的形式储存),而在统计分析数据时,就又需要从库中调取数据进行分析,因此总会面临一个两难的境地,不仅需要熟练使用R代码,又要对Access中的SQL语言有所了解,实在是对脑细胞打击太大,因此如何用R语言调用acess数据库进行操作处理应运而生(可见小编前文R语言链接外部数据库)。本文主要是讲解如何在R语言中调用SQL语言进行简单的数据处理,主要基于sqldf这个包,虽然不太懂,但是也要懂一点哈~

时间紧迫,不多啰嗦,直接上代码!

一、构建待演示数据库
library(sqldf)
##构建待处理数据库##
mm<-matrix(0,20,3,byrow = T)%>%data.frame()%>%setNames(c("gender","age","ICD10"))
rep(c(1,2),10)->mm$gender
runif(20,20,50)%>%round()->mm$age
paste0("C",32:41,".",6:9)->mm$ICD10
二、调用SQL语言dui对数据集进行简单的处理
1.简单筛选语句
#1----简单筛选语句#
sqldf("select * from mm 
where (ICD10 like '%C32%' or ICD10 like '%C40%') 
and (30<age and age<45)")##---调用sql中的select函数,*代表选取数据集中所有变量
                         ##---where...like...常用语句,%C32%---->模糊匹配变量中字段
2.简单替换语句
#2----简单替换语句#
sqldf("select *, replace(ICD10,'C39.9','D39.9') AS ICD101 from mm")##---replace(var,"原字段","待替换字段"),##AS---形成新的数据变量(或替换原变量)

Tips:2中的替换语句在SQL中可用update函数写为:

update mm

set Icd10="D39*"

WHERE (Icd10 Like "C39*");

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值