精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

R語言進階之3:數據匯總/透視/提煉

大數據
匯總、透視、提煉、凝煉,對數據處理來說這些詞的意思都差不多,R語言提供了很多函數處理這些事情,還有一些軟件包也提供了非常方便的數據匯總功能,方法不勝枚舉。summary是獲取數據概要最常用的函數,應該很熟悉了。這里只簡單介紹rowSums, colSums, rowMeans, colMeans, table、apply、lapply、sapply、vapply、tapply、mapply、by 和 aggregate等函數的用法。

一、行列求和、平均值和頻度

rowSums, colSums, rowMeans, colMeans 可以簡單理解為按行或列求和或求均值,table把數字或字符當成因子統計頻度,都相當簡單:

  1. > a <- array(rep(1:3, each=3), dim=c(3,3)) 
  2. > a 
  3.      [,1] [,2] [,3] 
  4. [1,]    1    2    3 
  5. [2,]    1    2    3 
  6. [3,]    1    2    3 
  7. > rowSums(a) 
  8. [1] 6 6 6 
  9. > colSums(a) 
  10. [1] 3 6 9 
  11. > table(a) 
  12. 1 2 3  
  13. 3 3 3  

對于多維數組,rowSums, colSums, rowMeans, colMeans的使用稍為復雜點。它們的參數為:

  1. colSums (x, na.rm = FALSEdims = 1
  2. rowSums (x, na.rm = FALSEdims = 1
  3. colMeans(x, na.rm = FALSEdims = 1
  4. rowMeans(x, na.rm = FALSEdims = 1

其中dims為整數,表示哪個或哪些維數被看做行或列,對于row統計函數,dims+1及以后的維度被看做行,對于col函數,dims及以前的維度(1:dims)被看做列:

  1. > b <- array(rep(1:3, each=9), dim=c(3,3,3)) 
  2. > b 
  3. , , 1 
  4.   
  5.      [,1] [,2] [,3] 
  6. [1,]    1    1    1 
  7. [2,]    1    1    1 
  8. [3,]    1    1    1 
  9.   
  10. , , 2 
  11.   
  12.      [,1] [,2] [,3] 
  13. [1,]    2    2    2 
  14. [2,]    2    2    2 
  15. [3,]    2    2    2 
  16.   
  17. , , 3 
  18.   
  19.      [,1] [,2] [,3] 
  20. [1,]    3    3    3 
  21. [2,]    3    3    3 
  22. [3,]    3    3    3 
  23.   
  24. > rowSums(b) 
  25. [1] 18 18 18 
  26. > rowSums(b,dims=1
  27. [1] 18 18 18 
  28. > rowSums(b,dims=2
  29.      [,1] [,2] [,3] 
  30. [1,]    6    6    6 
  31. [2,]    6    6    6 
  32. [3,]    6    6    6 
  33. > colSums(b) 
  34.      [,1] [,2] [,3] 
  35. [1,]    3    6    9 
  36. [2,]    3    6    9 
  37. [3,]    3    6    9 
  38. > colSums(b,dims=2
  39. [1]  9 18 27 

table可以統計數字出現的頻率,也可以統計其他可以被看做因子的數據類型:

  1. > table(b) 
  2. 1 2 3  
  3. 9 9 9  
  4. > c <- sample(letters[1:5], 10, replace=TRUE)  
  5. > c 
  6.  [1] "a" "c" "b" "d" "a" "e" "d" "e" "c" "a" 
  7. > table(c) 
  8. a b c d e  
  9. 3 1 2 2 2  

如果參數不只一個,它們的長度應該一樣,結果是不同因子組合的頻度表:

  1. > a <- rep(letters[1:3], each=4
  2. > b <- sample(LETTERS[1:3],12,replace=T
  3. > table(a,b) 
  4.    b 
  5. a   A B C 
  6.   a 0 3 1 
  7.   b 3 0 1 
  8.   c 1 1 2 

二、apply系列函數:

如果我們關心的不僅僅是求和、平均值和頻度這些指標的計算,可以用apply系列函數來處理,這些函數包括apply、lapply、sapply、vapply、tapply和mapply。這些函數的使用可以從目標數據類型和返回值類型兩個方面進行了解。

1、apply函數:

這個函數的使用格式為:apply(X, MARGIN, FUN, ...)。它應用的數據類型是數組或矩陣,返回值類型由FUN函數結果的長度確定。

X參數為數組或矩陣;MARGIN為要應用計算函數的邊/維,MARGIN=1為第一維(行),2為第二維(列),...;FUN為要應用的計算函數,后面可以加FUN的有名參數。比如,要按行或列計算數組a的標準差就可以這樣:

  1. > apply(a, MARGIN=1FUN=sd
  2. [1] 1 1 1 
  3. > apply(a, MARGIN=2FUN=sd
  4. [1] 0 0 0 

MARGIN的長度可以不是1(多維應用),如果長度等于X的維數,應用到FUN函數的數據就只有一個值,結果沒什么意義,甚至函數會獲得無效值:

  1. > apply(b, MARGIN=3FUN=sum
  2. [1]  9 18 27 
  3. > apply(b, MARGIN=1:2, FUN=sum
  4.      [,1] [,2] [,3] 
  5. [1,]    6    6    6 
  6. [2,]    6    6    6 
  7. [3,]    6    6    6 
  8. > apply(a, MARGIN=1:2, FUN=sd
  9.      [,1] [,2] [,3] 
  10. [1,]   NA   NA   NA 
  11. [2,]   NA   NA   NA 
  12. [3,]   NA   NA   NA 

上面我們使用的sd、sum或mean函數的返回值的向量長度都是1(每一次單獨計算),apply函數結果的維數與MARGIN的向量長度相同;如果FUN函數返回值的長度不是1而是每次都為n,apply函數的結果是維度為c(n, dim(X)[MARGIN]):

  1. > a 
  2.      [,1] [,2] [,3] 
  3. [1,]    1    2    3 
  4. [2,]    1    2    3 
  5. [3,]    1    2    3 
  6. > apply(a, MARGIN=1FUN=quantileprobs=seq(0,1, 0.25)) 
  7.      [,1] [,2] [,3] 
  8. 0%    1.0  1.0  1.0 
  9. 25%   1.5  1.5  1.5 
  10. 50%   2.0  2.0  2.0 
  11. 75%   2.5  2.5  2.5 
  12. 100%  3.0  3.0  3.0 
  13. > apply(a, MARGIN=2FUN=quantileprobs=seq(0,1, 0.25)) 
  14.      [,1] [,2] [,3] 
  15. 0%      1    2    3 
  16. 25%     1    2    3 
  17. 50%     1    2    3 
  18. 75%     1    2    3 
  19. 100%    1    2    3 

如果FUN函數返回值的長度不一樣,情況就復雜了,apply函數的結果會是列表。

2、lapply、sapply和vapply函數:

這幾個函數是一套,前兩個參數都為X和FUN,其他參數在R的函數幫助文檔里有相信介紹。它們應用的數據類型都是列表,對每一個列表元素應用FUN函數,但返回值類型不大一樣。lappy是最基本的原型函數,sapply和vapply都是lapply的改進版。

2.1  lapply返回的結果為列表,長度與X相同

  1. > scores <- list(YuWen=c(80,88,94,70), ShuXue=c(99,87,100,68,77)) 
  2. > lapply(scores, mean) 
  3. $YuWen 
  4. [1] 83 
  5.   
  6. $ShuXue 
  7. [1] 86.2 
  8.   
  9. > lapply(scores, quantile, probs=c(0.5,0.7,0.9)) 
  10. $YuWen 
  11.  50%  70%  90%  
  12. 84.0 88.6 92.2  
  13.   
  14. $ShuXue 
  15.  50%  70%  90%  
  16. 87.0 96.6 99.6 

2.2  sapply返回的結果比較“友好”,如果結果很整齊,就會得到向量或矩陣或數組

sapply是simplify了的lapply,所謂的simplify,是指對結果的數據結構進行了simplify,方便后續處理。

  1. > sapply(scores, mean) 
  2.  YuWen ShuXue  
  3.   83.0   86.2  
  4. > sapply(scores, quantile, probs=c(0.5,0.7,0.9)) 
  5.     YuWen ShuXue 
  6. 50%  84.0   87.0 
  7. 70%  88.6   96.6 
  8. 90%  92.2   99.6 

2.3  vapply函數:對返回結果(value)進行類型檢查的sapply

雖然sapply的返回值比lapply好多了,但可預測性還是不好,如果是大規模的數據處理,后續的類型判斷工作會很麻煩而且很費時。vapply增加的FUN.VALUE參數可以直接對返回值類型進行檢查,這樣的好處是不僅運算速度快,而且程序運算更安全(因為結果可控)。下面代碼的rt.value變量設置返回值長度和類型,如果FUN函數獲得的結果和rt.value設置的不一致(長度和類型)都會出錯:

 
  1. > probs <- c(1:3/4) 
  2. > rt.value <- c(0,0,0)  #設置返回值為3個數字 
  3. > vapply(scores, quantile, FUN.VALUE=rt.value, probsprobs=probs) 
  4.     YuWen ShuXue 
  5. 25%  77.5     77 
  6. 50%  84.0     87 
  7. 75%  89.5     99 
  8. > probs <- c(1:4/4) 
  9. > vapply(scores, quantile, FUN.VALUE=rt.value, probsprobs=probs) 

錯誤于vapply(scores, quantile, FUN.VALUE = rt.value, probs = probs) : 

值的長度必需為3,

但FUN(X[[1]])結果的長度卻是4

  1. > rt.value <- c(0,0,0,0)   #返回值類型為4個數字 
  2. > vapply(scores, quantile, FUN.VALUE=rt.value, probsprobs=probs) 
  3.      YuWen ShuXue 
  4. 25%   77.5     77 
  5. 50%   84.0     87 
  6. 75%   89.5     99 
  7. 100%  94.0    100 
  8. > rt.value <- c(0,0,0,'')  #設置返回值為3個數字和1個字符串 
  9. > vapply(scores, quantile, FUN.VALUE=rt.value, probsprobs=probs) 

錯誤于vapply(scores, quantile, FUN.VALUE = rt.value, probs = probs) : 

值的種類必需是'character',

但FUN(X[[1]])結果的種類卻是'double'

FUN.VALUE為必需參數。

3、 mapply函數:

R的在線文檔說mapply是sapply的多變量版本(multivariate sapply),但它的參數順序和sapply卻不一樣:

mapply(FUN, ..., MoreArgs = NULL, SIMPLIFY = TRUE, USE.NAMES = TRUE)

mapply應用的數據類型為向量或列表,FUN函數對每個數據元素應用FUN函數;如果參數長度為1,得到的結果和sapply是一樣的;但如果參數長度不是1,FUN函數將按向量順序和循環規則(短向量重復)逐個取參數應用到對應數據元素:

  1. > sapply(X=1:4, FUN=reptimes=4
  2.      [,1] [,2] [,3] [,4] 
  3. [1,]    1    2    3    4 
  4. [2,]    1    2    3    4 
  5. [3,]    1    2    3    4 
  6. [4,]    1    2    3    4 
  7. > mapply(rep, x = 1:4, times=4
  8.      [,1] [,2] [,3] [,4] 
  9. [1,]    1    2    3    4 
  10. [2,]    1    2    3    4 
  11. [3,]    1    2    3    4 
  12. [4,]    1    2    3    4 
  13. > mapply(rep, x = 1:4, times=1:4) 
  14. [[1]] 
  15. [1] 1 
  16.   
  17. [[2]] 
  18. [1] 2 2 
  19.   
  20. [[3]] 
  21. [1] 3 3 3 
  22.   
  23. [[4]] 
  24. [1] 4 4 4 4 
  25.   
  26. > mapply(rep, x = 1:4, times=1:2) 
  27. [[1]] 
  28. [1] 1 
  29.   
  30. [[2]] 
  31. [1] 2 2 
  32.   
  33. [[3]] 
  34. [1] 3 
  35.   
  36. [[4]] 
  37. [1] 4 4 
 
 

4、tapply 和 by 函數:

tapply函數可以看做是table函數的擴展:table函數按因子組合計算頻度,而tapply可以按因子組合應用各種函數。使用格式為:tapply(X, INDEX, FUN = NULL, ..., simplify = TRUE)

X為要應用函數的數據,通常為向量;INDEX為因子,和table函數一樣,它的長度必需和X相同。

 
  1. > (x <- 1:10) 
  2.  [1]  1  2  3  4  5  6  7  8  9 10 
  3. > (f <- gl(2,5, labels=c("CK", "T"))) 
  4.  [1] CK CK CK CK CK T  T  T  T  T  
  5. Levels: CK T 
  6. > tapply(x, f, length)  #FUN函數是length,得到的結果和table類似 
  7. CK  T  
  8.  5  5  
  9. > table(f) 
  10. CK  T  
  11.  5  5  
  12. > tapply(x, f, sum) 
  13. CK  T  
  14. 15 40 

by函數是tapply函數針對數據框類型數據的應用,但結果不怎么友好,你可以用下面語句看看情況:

  1. with(mtcars, by(mtcars, cyl, summary)) 

三、aggregate函數

這個函數的功能比較強大,它首先將數據進行分組(按行),然后對每一組數據進行函數統計,最后把結果組合成一個比較nice的表格返回。根據數據對象不同它有三種用法,分別應用于數據框(data.frame)、公式(formula)和時間序列(ts):

  1. aggregate(x, by, FUN, ..., simplify = TRUE
  2. aggregate(formula, data, FUN, ..., subset, nana.action = na.omit) 
  3. aggregate(x, nfrequency = 1FUN = sumndeltat = 1ts.eps = getOption("ts.eps"), ...) 

我們通過 mtcars 數據集的操作對這個函數進行簡單了解。mtcars 是不同類型汽車道路測試的數據框類型數據:

  1. > str(mtcars) 
  2. 'data.frame':   32 obs. of  11 variables: 
  3.  $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ... 
  4.  $ cyl : num  6 6 4 6 8 6 8 4 4 6 ... 
  5.  $ disp: num  160 160 108 258 360 ... 
  6.  $ hp  : num  110 110 93 110 175 105 245 62 95 123 ... 
  7.  $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ... 
  8.  $ wt  : num  2.62 2.88 2.32 3.21 3.44 ... 
  9.  $ qsec: num  16.5 17 18.6 19.4 17 ... 
  10.  $ vs  : num  0 0 1 1 0 1 0 1 1 1 ... 
  11.  $ am  : num  1 1 1 0 0 0 0 0 0 0 ... 
  12.  $ gear: num  4 4 4 3 3 3 3 4 4 4 ... 
  13.  $ carb: num  4 4 1 1 2 1 4 2 2 4 ... 

先用attach函數把mtcars的列變量名稱加入到變量搜索范圍內,然后使用aggregate函數按cyl(汽缸數)進行分類計算平均值:

  1. > attach(mtcars) 
  2. > aggregate(mtcars, by=list(cyl), FUN=mean
  3.   Group.1      mpg cyl     disp        hp     drat       wt     qsec        vs        am     gear     carb 
  4. 1       4 26.66364   4 105.1364  82.63636 4.070909 2.285727 19.13727 0.9090909 0.7272727 4.090909 1.545455 
  5. 2       6 19.74286   6 183.3143 122.28571 3.585714 3.117143 17.97714 0.5714286 0.4285714 3.857143 3.428571 
  6. 3       8 15.10000   8 353.1000 209.21429 3.229286 3.999214 16.77214 0.0000000 0.1428571 3.285714 3.500000 

by參數也可以包含多個類型的因子,得到的就是每個不同因子組合的統計結果:

  1. > aggregate(mtcars, by=list(cyl, gear), FUN=mean
  2.   
  3.   Group.1 Group.2    mpg cyl     disp       hp     drat       wt    qsec  vs   am gear     carb 
  4. 1       4       3 21.500   4 120.1000  97.0000 3.700000 2.465000 20.0100 1.0 0.00    3 1.000000 
  5. 2       6       3 19.750   6 241.5000 107.5000 2.920000 3.337500 19.8300 1.0 0.00    3 1.000000 
  6. 3       8       3 15.050   8 357.6167 194.1667 3.120833 4.104083 17.1425 0.0 0.00    3 3.083333 
  7. 4       4       4 26.925   4 102.6250  76.0000 4.110000 2.378125 19.6125 1.0 0.75    4 1.500000 
  8. 5       6       4 19.750   6 163.8000 116.5000 3.910000 3.093750 17.6700 0.5 0.50    4 4.000000 
  9. 6       4       5 28.200   4 107.7000 102.0000 4.100000 1.826500 16.8000 0.5 1.00    5 2.000000 
  10. 7       6       5 19.700   6 145.0000 175.0000 3.620000 2.770000 15.5000 0.0 1.00    5 6.000000 
  11. 8       8       5 15.400   8 326.0000 299.5000 3.880000 3.370000 14.5500 0.0 1.00    5 6.000000 

公式(formula)是一種特殊的R數據對象,在aggregate函數中使用公式參數可以對數據框的部分指標進行統計:

  1. > aggregate(cbind(mpg,hp) ~ cyl+gear, FUN=mean
  2.   cyl gear    mpg       hp 
  3. 1   4    3 21.500  97.0000 
  4. 2   6    3 19.750 107.5000 
  5. 3   8    3 15.050 194.1667 
  6. 4   4    4 26.925  76.0000 
  7. 5   6    4 19.750 116.5000 
  8. 6   4    5 28.200 102.0000 
  9. 7   6    5 19.700 175.0000 
  10. 8   8    5 15.400 299.5000 

上面的公式 cbind(mpg,hp) ~ cyl+gear 表示使用 cyl 和 gear 的因子組合對 cbind(mpg,hp) 數據進行操作。

aggregate在時間序列數據上的應用請參考R的函數說明文檔。

原文鏈接:http://helloxxxxxx.blog.163.com/blog/static/216015095201331610310847/?latestBlog

【編輯推薦】

1.R語言學習筆記(1):R是什么

1.R語言學習筆記(2):數據類型和數據結構

責任編輯:彭凡 來源: 網易博客
相關推薦

2013-05-31 10:15:29

R語言

2021-08-04 08:56:34

語言Go排序

2013-06-03 09:45:53

R語言

2013-05-15 13:32:16

R語言

2013-05-14 09:42:36

R語言

2014-08-01 13:40:50

R語言

2014-07-31 09:13:54

R語言MongoDB

2017-04-26 13:47:32

Java

2022-07-15 16:04:22

R 語言

2015-07-29 11:14:20

r語言數據科學

2017-10-17 11:58:54

R語言UpSetR可視化

2022-02-20 14:45:33

3D動畫CSS3前端

2021-09-10 16:10:21

panda透視表語言

2015-08-18 13:33:16

r語言

2018-08-03 11:58:07

美團分布式數據處理可視化

2014-11-05 19:17:49

云海卓數大數據

2011-08-29 10:30:38

2016-05-30 17:31:34

Spring框架

2018-04-20 09:06:11

R語言數據存儲

2013-05-22 08:55:14

R語言
點贊
收藏

51CTO技術棧公眾號

久久久精品一区二区毛片免费看| 无码国产精品高潮久久99| 禁断一区二区三区在线| 在线观看免费一区| 一区二区三区四区欧美日韩| 精品久久久久中文慕人妻| 日韩午夜黄色| 在线电影中文日韩| 不许穿内裤随时挨c调教h苏绵| 蜜臀av在线播放| 久久综合999| 成人久久久久久| 日韩特黄一级片| 日韩精品一区二区三区免费观看| 日韩三级视频在线看| 久久精品视频91| 午夜伦理大片视频在线观看| 91美女片黄在线观看| 国产欧美精品va在线观看| 久久精品国产亚洲av麻豆色欲| 国产精品免费99久久久| 欧美成人一区二区三区片免费 | 亚洲激情另类| 一区二区在线视频| 黄色av网址在线观看| 91精品一区| 色综合av在线| 国产玉足脚交久久欧美| 久久久久久国产精品免费无遮挡| 91在线视频观看| 亚洲淫片在线视频| www.欧美色| 一区久久精品| 免费av在线一区| 国产传媒在线看| 色综合www| 精品va天堂亚洲国产| 亚洲精品综合在线观看| 三上悠亚激情av一区二区三区| 亚洲精品视频在线观看免费| 亚洲国产精品一区在线观看不卡| 日韩大胆视频| 成人av网址在线观看| 成人av资源在线播放| 日本熟妇一区二区三区| 国产麻豆综合| 国内伊人久久久久久网站视频 | 亚洲精品中文字幕在线播放| 国产美女视频一区二区| 欧美三级日韩在线| www.色就是色| 欧美日韩在线精品一区二区三区激情综合| 午夜精品福利在线| 69sex久久精品国产麻豆| 亚洲妇熟xxxx妇色黄| 日韩美女视频一区二区 | 欧美影视一区| 久久久成人精品视频| 永久免费观看片现看| 日韩a一区二区| 中文字幕在线亚洲| 精品一区二区6| 久久国产成人精品| 一区二区亚洲精品国产| 国产免费嫩草影院| 97在线精品| 久久精品久久久久| 朝桐光av在线| 欧美久久一级| 国色天香2019中文字幕在线观看| 日本熟妇乱子伦xxxx| 一本综合精品| 青青在线视频一区二区三区| 波多野结衣av无码| 麻豆精品久久精品色综合| 国产美女久久精品| 国产日产亚洲系列最新| 国产精品一级黄| 国产伦精品一区二区三区在线 | 日韩中文字幕在线免费| 免费成人在线电影| 日韩欧美在线播放| 天天干天天综合| 日本一区二区三区视频在线看| 精品久久久久久久久久久久久久久 | 伊人久久高清| 欧美精选午夜久久久乱码6080| 亚洲五月激情网| 精品国产一区二区三区不卡蜜臂 | 亚洲第一黄网| 国产999精品久久久影片官网| 欧美日韩a v| 国产在线国偷精品产拍免费yy| 99热国产免费| 久久久久久久影视| 亚洲欧美日韩国产成人精品影院 | 久久精品欧洲| 91精品久久久久久久久久久| 成人黄色在线观看视频| 26uuu国产电影一区二区| 亚洲欧美日韩国产成人综合一二三区| 色呦呦在线视频| 一本一本大道香蕉久在线精品| 欧美视频国产视频| 欧美1区2区3区4区| 久久香蕉频线观| 亚洲黄色小说图片| 国产一区二区三区香蕉| 蜜桃av噜噜一区二区三区| 欧美jizzhd69巨大| 欧美日韩中文字幕日韩欧美| 婷婷激情小说网| 同性恋视频一区| 久久国产色av| 中文字幕免费观看视频| 成人一区在线看| 在线视频福利一区| 亚洲精品永久免费视频| 精品精品欲导航| 来吧亚洲综合网| 久久久天天操| 国产伦精品一区二区三区照片91| 久草资源在线| 欧美亚洲国产bt| 国产精品久久AV无码| 图片小说视频色综合| 人人澡人人澡人人看欧美| 丰满人妻一区二区三区四区53| 国产精品久久久久影院| 欧美视频第一区| 国产精品午夜av| 欧美成人性生活| 91黄色在线视频| 欧美国产精品v| 亚洲人成色77777| 欧美三级午夜理伦三级在线观看 | 1024手机在线视频| 蜜桃av噜噜一区二区三区小说| 欧美极品色图| 欧美一级鲁丝片| 精品播放一区二区| 久久午夜无码鲁丝片| 国产一区日韩二区欧美三区| 亚洲欧洲一区二区| 久久久成人av毛片免费观看| 亚洲美女动态图120秒| 日韩av黄色片| gogogo免费视频观看亚洲一| 免费高清一区二区三区| 亚洲小说春色综合另类电影| 九九热最新视频//这里只有精品| 国产精品热久久| 亚洲三级小视频| 99久久99精品| 91精品国产91久久久久久密臀| 国产欧美精品久久久| 69视频在线| 欧美区在线观看| 亚洲女人久久久| 国产在线视频精品一区| 亚洲五码在线观看视频| 日韩高清一区| 久久免费视频网站| 特级丰满少妇一级aaaa爱毛片| 婷婷夜色潮精品综合在线| 欧美深性狂猛ⅹxxx深喉| 国产精品夜夜夜| 欧美一区二区三区四区夜夜大片 | 99热精品在线观看| 久久青青草原| 四虎4545www精品视频| 中文字幕精品网| 国产巨乳在线观看| 一区二区高清在线| 欧美在线一级片| 欧美亚洲一级| 亚洲一区三区电影在线观看| 亚洲精品一区av| 欧美肥臀大乳一区二区免费视频| 可以免费观看的毛片| 都市激情亚洲色图| 91网站免费入口| 精品一区二区在线播放| 欧美日韩中文字幕在线播放| 加勒比视频一区| 国产精品99久久99久久久二8| 日本在线免费播放| 精品成人在线观看| 国产精品51麻豆cm传媒 | 圆产精品久久久久久久久久久| 26uuu亚洲| 超碰在线免费av| 国产亚洲午夜| 免费观看黄色大片| 欧美一级一片| 国产欧美日韩专区发布| 草美女在线观看| 中文字幕日本精品| 好男人www在线视频| av中文字幕在线看| 亚洲欧美激情在线| 日本丰满少妇裸体自慰| 精品中文字幕一区二区| 欧美高清中文字幕| 成人羞羞网站入口| 国产精品一区二| 欧美激情福利| 亚洲 欧美 中文字幕| 欧美国产日韩电影| 欧美成人性生活| 狠狠色伊人亚洲综合网站l| 日韩三级在线观看| 天天爱天天做天天爽| 亚洲精品国产高清久久伦理二区| 亚洲第一香蕉网| 粉嫩高潮美女一区二区三区| 日韩亚洲在线视频| 亚洲网站啪啪| 日本一道在线观看| 久久在线免费| 日本一区高清不卡| 日本国产精品| 国产乱码一区| 国产在线一区不卡| 国产剧情日韩欧美| 成年美女黄网站色大片不卡| 国外成人免费在线播放| 吴梦梦av在线| 欧美一区二区三区婷婷| 91爱视频在线| 91www在线| 欧美黑人狂野猛交老妇| 黄色小网站在线观看| 中文字幕欧美亚洲| av资源在线观看免费高清| 日韩电影第一页| 日批免费在线观看| 日韩免费电影一区| 国产jzjzjz丝袜老师水多 | 欧美成人精品在线| 色综合久久影院| 在线丨暗呦小u女国产精品| 国产日本在线视频| 亚洲欧美日韩精品久久| 欧美日韩免费做爰大片| 精品无人区太爽高潮在线播放| 精品乱子伦一区二区| 欧美一级专区免费大片| av av片在线看| 6080yy午夜一二三区久久| 中国a一片一级一片| 91国偷自产一区二区开放时间| 青青草成人av| 欧美色道久久88综合亚洲精品| 日本免费在线播放| 亚洲激情图片qvod| 久久久久久久久久久久久久免费看 | 成人黄色片在线| 99re久久| 91精品国产自产在线老师啪 | 亚洲三级电影在线观看| 国产精品videossex国产高清| 欧美国产免费| 免费av观看网址| 国产精品日韩| 欧美 国产 日本| 秋霞电影网一区二区| 亚洲成人福利在线观看| 日韩电影一区二区三区四区| 9l视频白拍9色9l视频| 美国十次了思思久久精品导航| 男操女免费网站| 久久成人精品无人区| 国内自拍第二页| 国产盗摄女厕一区二区三区| 少妇一级淫免费观看| 91亚洲精品一区二区乱码| 亚洲黄色在线网站| 成人免费视频网站在线观看| 亚洲av成人片无码| 91看片淫黄大片一级在线观看| 熟女人妻在线视频| 国产亚洲人成网站| 国产大屁股喷水视频在线观看| 亚洲激情在线播放| 日韩av在线天堂| 色婷婷国产精品| 亚洲最新av网站| 日韩欧美一级特黄在线播放| 亚洲AV无码乱码国产精品牛牛| 亚洲人成电影在线播放| 在线视频婷婷| 欧美激情xxxx| jizz久久久久久| 国产91免费视频| 国产a久久精品一区二区三区| 国产高清精品软男同| 国模吧视频一区| 国产精品igao| 成人激情午夜影院| 少妇精品无码一区二区免费视频 | 精品视频在线观看免费| 欧美日韩一二三四五区| 亚洲手机在线观看| 亚洲精品久久久久久下一站 | 精品无码人妻一区二区三区品| 午夜精品一区二区三区电影天堂| 在线免费看av的网站| 亚洲国产精品久久久久秋霞蜜臀| 欧洲一级在线观看| 欧美剧在线观看| 亚洲男人av| 91久久大香伊蕉在人线| 精品欧美激情在线观看| 一区二区不卡在线| 欧美喷水视频| 成年人三级黄色片| 91麻豆国产在线观看| 亚洲精品卡一卡二| 欧美午夜精品电影| 色偷偷在线观看| 麻豆国产精品va在线观看不卡 | 欧美午夜激情在线| 999免费视频| 最近2019年中文视频免费在线观看| av蜜臀在线| 亚洲va男人天堂| 欧美疯狂party性派对| 国产一区二区网| 国产精品性做久久久久久| 三级黄色片在线观看| 欧美日韩中文在线观看| 亚洲第一视频在线| 欧美成aaa人片免费看| 成人在线黄色| 国产精品视频福利| 激情久久婷婷| 久久无码人妻一区二区三区| 亚洲欧美偷拍卡通变态| 国产偷人爽久久久久久老妇app | 五月激情综合| 热久久精品免费视频| 国产日韩欧美综合在线| 青青操免费在线视频| 亚洲精品在线免费观看视频| 羞羞视频在线观看不卡| 成人精品aaaa网站| 成人精品影视| 超碰在线人人爱| 久久精品视频网| 无码任你躁久久久久久久| 日韩av网站在线| 草草视频在线| 久久亚洲国产精品日日av夜夜| 欧美日韩理论| 麻豆传媒在线看| 亚洲电影激情视频网站| 亚洲第一大网站| 日韩中文在线中文网在线观看| 99久久久国产精品免费调教网站| 任我爽在线视频精品一| 日韩和欧美的一区| 欧美18—19性高清hd4k| 色88888久久久久久影院野外| 国产日本在线| 国产美女精品视频| 青青草原综合久久大伊人精品| 色天使在线观看| 亚洲欧美一区二区三区久本道91| www.五月激情| 久久久亚洲国产| 国产成人澳门| 国产精品亚洲a| 国产偷国产偷精品高清尤物| 中文字幕在线看人| 在线观看91久久久久久| 韩日一区二区| 超碰超碰超碰超碰超碰| 丁香五精品蜜臀久久久久99网站| 全网免费在线播放视频入口 | 欧美激情在线一区二区三区| 亚洲一级片免费看| 久久综合国产精品台湾中文娱乐网| 久久一级大片| 欧美日韩二三区| 国产视频一区二区在线| 加勒比在线一区| 欧美大片在线看免费观看| 国产一区二区三区亚洲| 国产成人av影视| 18成人在线视频| 日韩有码第一页| 国产免费亚洲高清| 一区二区三区午夜视频| 国产精品无码一区二区三| 91精品1区2区| 在线黄色网页| 欧美中日韩一区二区三区| 激情综合亚洲精品| 六月丁香激情综合|