R中怎么把数据变量当成数据库的一个表格, 用数据库语言操作此变量?
用到包sqldf
library(sqldf)
df <- read.csv("iris.csv")
sqldf("select * from df");
SELECT …
FROM…
WHERE…(and或or或in(val-1, val-2,…val-N)或like…)
sqldf("select * from df where T=1")
SELECT…
FROM…
ORDER BY…ASC/DESC
sqldf("select * from df order by T DESC")#输出所有按T的降序排列
SELECT…
FROM…
GROUP BY (列名1,列名2)#数据行数等于unique(列名1,列名2)
(三者执行顺序 where>group by>having.)
sqldf("select * from df group by T,M")#数据行数等于unique(T,M)
SELECT…
FROM…
GROUP BY
HAVING
HAVING是对前面group by的结果再进行筛选
sqldf("select * from df group by T,M HAVING T=1") 从unique(T、M)的结果里筛选T=1的数据。
把N为’ '的所有数据筛出来
sqldf("select * from df where N is ''")
把N为’ '的所有数据筛出来
sqldf("select * from df where N is ''")
UPDATE …(表名)
SET colname1=value1,colname2=value2,…
WHERE …
sqldf("update df set sex='young girl' where sex=1 and age=1")
输出(列1,列2,列3)的unique
SELECT DISTINCT 列1,列2,列3
FROM table
sqldf("select distinct T,N,M from df")
SELECT COUNT(列名)
FROM 表名
WHERE 条件
sqldf("select count(T) from data where T!=''")#计算T不等于空字符串的有多少个
DELETE FROM 表名
WHERE 条件
sqldf("DELETE FROM data WHERE T=1")
CREATE TABLE 创建表格
**CREATE TABLE 表名(
列名1 数据类型,
列名2 数据类型,
列名3 数据类型,
.....
列名n 数据类型,
PRIMARY KEY( 列名1,列名2)
);**