R語言SQL管理資料庫的方法

2021-01-21 R語言論壇

#使用SQL語句操作數據框,需要加載的程序包sqldf,tcltk,使用iris數據集以及演示

library(sqldf)

library(tcltk)

head(iris)#了解數據集由5各變量組成


#取出前幾行

a1r <- head(iris,10)#一般方法

a1s <- sqldf("select * from iris limit 10")#取出數據框的前六行,關鍵詞limit

identical(a1r, a1s)#比較兩個數據框是否相同


#取出子集

a2r <- subset(iris, grepl("^se", Species))#取出物種列中以se開頭的數據子集

a2s <- sqldf("select * from iris where Species like 'se%'")#取出數據的子集,關鍵詞like

all.equal(as.data.frame(a2r), a2s)#檢驗數據是否有差異


#指定某變量值為兩個以上時的提取

a3r <- subset(iris, Species %in% c("setosa", "virginica"))#在iris數據集中,選出量物種是setosa和virginica的行

a3s <- sqldf("select * from iris where Species in ('setosa', 'virginica')")#注意單引號和雙引號

row.names(a3r) <- NULL#a3r選的是子集,因而行名還是與原數據集相同

identical(a3r, a3s)


#指定某變量範圍時數據集的提取

a4r <- subset(iris,  Petal.Length >= 0 &  Petal.Length <= 2.0)#選取breaks在20到30之間的數據

a4s <- sqldf("select * from iris where Petal.Length between 0 and 2.0", row.names = TRUE)#使用row.names=TRUE可以不把行名重命名

iris$Petal.Length


#數據合計

a5r <- aggregate(iris[1:2], iris[5], mean)#計算出了3個物種前兩個變量的平均值

a5s <- sqldf('select Species, avg("Sepal.Length") `Sepal.Length`, avg("Sepal.Width") `Sepal.Width` from iris group by Species')#關鍵詞group by

all.equal(a5r, a5s)#查看數據是否相同


# 提取某變量breaks從小到大排序後的前3行的數據,除數據屬性和列名外相同

head(warpbreaks)


a6r <- head(warpbreaks[order(warpbreaks$breaks), ], 3)

a6s <- sqldf("select * from warpbreaks order by breaks limit 3")

# attributes(a6r) <- attributes(a6s) <- NULL#去除屬性

row.names(a6r) <- NULL#去除列

identical(a6r, a6s)


# 提取某變量breaks從大到小排序後的前3行的數據,除數據屬性和列名外相同

a7r <- head(warpbreaks[order(warpbreaks$breaks, decreasing = TRUE), ], 3)

a7s <- sqldf("select * from warpbreaks order by breaks desc limit 3")#關鍵詞order by,desc表示降序

row.names(a7r) <- NULL

identical(a7r, a7s)


相關焦點

  • R+SQL Server的大數據管理
    它是是微軟公司推出的一個具有使用方便、可伸縮性好、與相關軟體集成程度高等優點的全面的關係型資料庫管理平臺,可以滿足數據爆炸時代和數據驅動應用程式的需求。令人興奮的是,微軟在2016年6月正式發布的SQL Server 2016將支持R語言編程(包括大數據的算法)。
  • SQL server資料庫存儲過程測試方法
    待測程序(AUT:Application Under Test)或者待測系統(SUT:System Under Test)經常通過存儲過程來訪問資料庫。對於這些應用場景,可以把SQL存儲過程想像成應用程式的輔助函數。有兩種基本的方法可以用來編寫針對SQL存儲過程的輕量級的自動化測試。
  • SQL語言基礎:資料庫語言概念介紹
    1、概念介紹SQL(Structured Query Lanauage)結構化查詢語言是關係資料庫中最普遍使用的語言。主要包括查詢、數據操縱、數據定義、數據控制功能,是一種通用的、功能強大的關係資料庫的標準語言。
  • 資料庫是什麼?怎樣學習SQL Server資料庫?
    對於剛開始學習編程的新手來說,資料庫的概念相對來說也不是很好理解。這裡,我用通俗的語言說明一下什麼是資料庫。前提了解資料庫之前,首先要知道什麼是windows服務。windows服務可以在「計算機管理-服務和應用程式-服務」中找到。
  • 春眠不覺曉,SQL 知多少?|原力計劃
    SEQUEL 被設計用於 IBM 最初的準關係資料庫管理系統 SystemR。IBM 隨後基於其 SystemR 原型開發商業產品,分別於 1979 年、1981 年和 1983 年上市了 system/38、SQL/DS 和 DB2 資料庫管理系統。不過早在 1979 年 6 月,Relational Software,Inc.
  • 遠程連接不上SQL資料庫6大可能的問題原因列舉
    打開APP 遠程連接不上SQL資料庫6大可能的問題原因列舉 發表於 2018-10-27 09:31:40 3打開允許遠程連接 1、打開SQL Server Management Studio 2、打開資料庫屬性
  • SQL-server資料庫管理系統試卷及答案A
    學年第二學期《SQL-server 2000資料庫管理系統》試卷(A)使用班級:4、資料庫系統不僅包括資料庫本身,還要包括相應的硬體,軟體和( )。A、資料庫管理系統 B、資料庫應用系統C、相關的計算機系統 D、各類相關人員5、資料庫系統階段,數據( )。
  • Python連接MySQL資料庫方法介紹(超詳細!手把手項目案例操作)
    >Python 3.7.2pip 19.0.3兩種方法進行資料庫的連接分別是PyMySQL和mysql.connector步驟:連接資料庫() # 生成遊標對象sql="select * from `student` " # SQL語句cur.execute(sql) # 執行SQL語句data = cur.fetchall() # 通過fetchall方法獲得數據for i in data[:2]: # 列印輸出前2條數據
  • 大數據分析工程師入門9-Spark SQL
    本文為《大數據分析師入門課程》系列的第9篇,在本系列的第8篇-Spark基礎中,已經對Spark做了一個入門介紹,在此基礎上本篇拎出Spark SQL,主要站在使用者的角度來進行講解,需要注意的是本文中的例子的代碼均使用Scala語言。
  • Java中加載資料庫驅動的方式有幾種?背後的原理是什麼?
    Driver接口先來了解下java.sql.Driver接口,java.sql.Driver是所有JDBC驅動程序需要實現的接口。這個接口是提供給資料庫廠商使用的,不同廠商實現該接口的類名是不同的,例如MySQL 8.x的JDBC驅動的類名是:com.mysql.cj.jdbc.Driver。
  • 實踐分享:ACCESS資料庫導入mysql資料庫
    作為程式設計師很多時候要進行不同資料庫之間的導入導出工作,這樣是為了節省數據錄入的時間。下面我就和大家分享一下如何把數據從ACCESS資料庫導入mysql資料庫。首先說明一下思路,可以導入mysql的方法有很多,但不包過access直接導入,網上有很多介紹CSV格式導入mysql的,但操作很不方便,經常發生錯誤而無法導入。sql語句導入是最簡單的。那有沒有辦法把access資料庫轉換成sql語句呢。
  • 快速掌握R語言中類SQL資料庫操作技巧
    在數據分析中,往往會遇到各種複雜的數據處理操作:分組、排序、過濾、轉置、填充、移動、合併、分裂、去重、找重、填充等操作。這;- c(11:15) > xts(x,order.by=as.Date('2019-09-14')+1:5) [,1]2019-09-15 112019-09-16 122019-09-17 132019-09-18 142019-09-19   15關於xts類型的詳細介紹,請參考文章《可擴展的時間序列xts》http://blog.fens.me
  • 三方法解決SQL Server與雲端資料庫連接
    【IT168專稿】SQL Azure 是構建在SQL Server技術之上的關係型雲端資料庫服務,為用戶提供了自主管理、高可用性、高可擴展的資料庫服務。用戶可以使用現有的T-SQL和關係型資料庫知識與工具,在雲端方便地構建自己的資料庫服務。
  • 最詳細的SQL注入相關的命令整理
    偶然間我想到了在SQL語言中可以使用"in"關鍵字進行查詢,例如"select * from mytable where id in(1)",括號中的值就是我們提交的數據,它的結果與使用"select * from mytable where id=1"的查詢結果完全相同。
  • Visual Studio Code: 利用 MSSQL 插件創建資料庫 IDE
    儘管面對繁重的 .NET 開發任務 Visual Studio 仍是我的首選 IDE,但我卻已深深迷戀上 Visual Studio Code (VS Code),無論我使用的語言是 C#、Java 還是 Node,也無論我使用的作業系統是 Windows 還是 macOS。
  • SQL Server2008引擎組件和CPU性能監控
    命令解析器(Cmd Parser)  命令解析器處理髮送給SQL Server的T-SQL語言事件。它會先檢查T-SQL語法,並返回任何錯誤信息客戶端,如果語法有效,就會進一步產生執行計劃或者去查找一個已經存在的執行計劃。
  • SQL Server 首次登陸 Linux 平臺
    近年來, SQL Server 正在一直演化,除了想一改 DMS(資料庫管理系統)的角色,還想介入到數據分析、機器學習和數據科學領域。2017 年 4 月份, SQL Server 發布了一個重要組件,支持在 SQL Server 中用 Python 運行機器學習負載。
  • sqltoy-orm-4.16.11 發版,部分功能優化
    的十四個關鍵特點:1、最簡最直觀的sql編寫方式(不僅僅是查詢語句),採用條件參數前置處理規整法,讓sql語句部分跟客戶端保持高度一致2、sql中支持注釋(規避了對hint特性的影響,知道hint嗎?搜oracle hint),和動態更新加載,便於開發和後期維護整個過程的管理3、支持緩存翻譯和反向緩存條件檢索(通過緩存將名稱匹配成精確的key),實現sql簡化和性能大幅提升4、支持快速分頁和分頁優化功能,實現分頁最高級別的優化,同時還考慮到了cte多個with as情況下的優化支持5、支持並行查詢6、根本杜絕sql注入問題,以後不需要討論這個話題7、支持行列轉換
  • 請確保你查詢mysql資料庫時,sql語句沒有這麼寫_手機網易網
    2020-11-23 19:20:11 來源: 小燕愛生活 舉報   資料庫索引
  • 這是SQL資料庫優化的六種方法
    但是,SQL命令的效率受到不同的資料庫功能的限制,特別是在計算時間方面,再加上語言的高效率也不意味著優化會更容易,所以每個資料庫都需要依據實際情況做特殊調整。  同時,這也是為什麼我們要儘可能多的了解不同的方法來優化或增強資料庫,以確保最佳性能的原因。不同職位的開發人員針對SQL資料庫的優化也會有所不同,例如在某些方面的優化就會與資料庫管理員(DBA)有所不同。