1.讀檔案:
讀csv檔案:
u <-read.csv(("g:/jd_data/data/jdata_user.csv"),header=true)//不加header預設false,即就是資料框的列名為v1,v2...
//header=true,第一列為列名
2.隨機抽樣
sample(x, size, replace = false, prob = null)//replace 是否放回抽樣
//prob 所抽取元素的概率
//x裡面抽size個資料
3.讀取資料框資訊
(1)資料框行數:nrow
(2)資料框列數:ncol
(3)轉化為矩陣:data.matrix()
4.合併資料框
(1)橫向合併
merge(x = df1, y = df2, by = "某列", all = true)
//inner
merge(x = df1, y = df2, by = "customerid", all.x = true)
//left(以x為主)
merge(x = df1, y = df2, by = "customerid", all.y = true)
//right(以y為主)
merge(x = df1, y = df2, by = null)
//outer(相當於笛卡爾積)
(2)縱向合併
rbind(df1,df2)
plyr包中可以將兩個列數不同的資料框進行垂直合併(縱向合併),沒有該列的用na填充,**:
library
("plyr")
df.new
<- rbind.fill
(df1,df2)
5.資料框去重
df1 <- df1[!duplicated(df1),]
//去掉所有重複的行
df1 <- df1[!duplicated(df1[,c(2,3)]),]
//去掉第2和第3列重複的行
6.缺失值處理
na:代表缺失值
nan:代表不可能的值
inf:代表正無窮
-inf:代表負無窮
is.na():識別缺失值
is.nan():識別不可能值
is.infinite():無窮值
complete.cases()可用來識別矩陣或資料框中沒有缺失值的行,若每行都包含完整的例項,則返回true的邏輯向量,若每行有乙個或多個缺失值,則返回false;
df1 <- test[complete.cases(df1),]
//可以去掉含有缺失值的行
7.分組求和
a=data.frame(customer=c('a','b','a','m','a','b'),consumption=1:6)
a customer consumption1a
12 b 23a
34 m 45a
56 b 6
a b m98
4a b m32
1
利用兩列的關係進行分組求和
a=
data
.frame(customer=c('a','b','a','m','a','b'),consumption=
1:6,groups=c('a','b','a','b','a','b'))
aggregate(a$consumption, list(a$customer,a$groups), sum)
group
.1group
.2 x
1 a a 9
2 b b 8
3 m b 4
8.最大值
(1)找最大值:max()
(2)找最大值的下標:which.max()
9.資料中心化(標準化,最小-最大規範化)
即就是將資料對映到[0,1]之間:
公式: x-min(x) / max(x)-min(x)
for(i in
1:ncol)
docker Dockerfile 一些語法
環境變數 與宣告 的env宣告 也可以在特定指令作為變數用來被解釋dockerfile。轉義也被處理,從字面上包含類似於變數的語法。環境變數dockerfile用 variable nameor 來標註 他們被對等地對待,大括號語法通常用於解決變數名稱沒有空白的問題,如 bar。該 語法還支援一些標...
MFC一些語法筆記
1.類似c語言sprintf的用法 cstring str1 str1.format t id是 d i 把變數i的值變成字串 t是乙個巨集,作用是讓你的程式支援unicode編碼。因為windows使用兩種 字符集ansi和unicode,前者就是通常使用的單 位元組方式,但這種方式處理像中文這樣...
正則的一些語法
1.b 單詞的開頭或結尾 2.代表重複0次或多次 連在一起就意味著任意數量的不包含換行的字元 3.代表重複n次數 4.d 表示10十進位制數 s匹配任意的空白符,包括空格,製表符 tab 換行符,中文全形空格等 w匹配字母或數字或下劃線或漢字等。匹配除換行符以外的任意字元 w 匹配字母或數字或下劃線...