日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

r语言的runmed函数_R实战 第五篇:常用函数的用法

發布時間:2025/3/15 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 r语言的runmed函数_R实战 第五篇:常用函数的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Basic包是R語言預裝的開發包,包含了常用的數據處理函數,可以對數據進行簡單地清理和轉換,也可以在使用其他轉換函數之前,對數據進行預處理,必須熟練掌握常用的數據處理函數。

一,合并向量

函數append()用于修改合并向量,可以把兩個向量合并為一個:

append(x, values, after = length(x))

例如:從一個向量的指定位置處,插入另一個向量:

> append(1:5, 0:1, after = 3)

[1] 1 2 3 0 1 4 5

二,匹配函數

匹配函數(match)返回一個位置向量,表示 x 匹配table的位置。%in% 返回一個邏輯向量,表示左邊的操作符是否匹配右邊的操作符。

match(x, table, nomatch = NA_integer_, incomparables =NULL)

x%in% table

參數注釋:

x:被匹配的向量

table:其他向量跟該向量進行匹配,x向量中的每一個元素都跟table向量中的每一個元素進行比較;

nomatch:不匹配時,函數返回的整數值。默認值是NA

incomparables :指定不能匹配的值的向量,在x向量中的任何值,如果是incomparables參數中的值,那么返回nomatch參數的值。由于歷史原因,FALSE 和NULL相等。

match()函數返回的是一個整數向量,長度和參數x相同,每一個元素的值是x元素第一次匹配table元素的位置,如果x元素不在table向量中,那么相應位置上的元素值是nomatch(nomatch參數指定的值,默認值是NA)。

match: An integer vector giving the position in table of the first match if there is a match, otherwise nomatch.

If x[i] is found to equal table[j] then the value returned in the i-th position of the return value is j, for the smallest possible j. If no match is found, the value is nomatch.

1,match()函數的用法

match()函數的基本用法

x

tb

match(x,tb)

[1] 5 3 NA

match()函數可以用于批量修改數據框的列名:

names(df)[match(c('a',"b", "c)","d"),names(df))]

2,操作符 %in%的用法

操作符 %in% 返回的是一個邏輯向量,指定x元素是否匹配table元素,其長度和x向量相同。如果x元素能夠匹配到table元素,那么相應位置的元素值是TRUE,否則,元素值是FALSE。

操作符 %in% 在底層使用match()函數實現:

function(x, table) match(x, table, nomatch = 0) > 0

例如,返回左側向量的元素匹配右側向量的邏輯值:

> 1:10 %in% c(1,3,5,9)

[1] TRUE FALSE TRUE FALSE TRUE FALSE FALSE FALSE TRUE FALSE

三,cut函數

cut()函數用于切割x的范圍,每一個范圍是一個分區;cut()函數根據分區的順序對x中的值進行編碼,也就是說,每一個分區從左向右依次對應lables向量中的一個因子,最左邊的分區對應于lables向量的第一個因子,第二個分區對應lables向量中的第二個因子,以此類推。

cut(x, breaks, labels =NULL,

include.lowest = FALSE, right = TRUE, dig.lab = 3,

ordered_result = FALSE, ...)

參數注釋:

breaks:分割點,由兩個或更多個唯一切割點構成的數字向量,或者單個數字(大于或等于2):

如果breaks是數字向量,那么向量中的每個分割點從小到大依次排列,cut()按照分割點把x劃分為不同的分區;

如果breaks是單個數字,那么該數字表示cut()函數把x分割的段數。

labels:為分割的區間指定標簽,labels中因子的個數和breaks中指定的分區數量保持一致。

ordered_result:默認值是FALSE,表示結果是無序的因子。

right:默認值是TRUE,表示分割點屬于左側分區。

示例,breaks是由分割點構成的數字向量,兩個連續的分割點指定一個分區的邊界點,

vc

cut(vc,breaks=c(0,2,5,7),labels = c('low','medium','high'))

[1] low low medium medium medium high

Levels: low medium high

默認情況下,分割點屬于右側的分區,因此,2是屬于右側的分區。分割點如何劃分x的分區?

breaks指定的第一個分區是:x>0 and x<=2

breaks指定的第二個分區是:x>2 and x<=5

breaks指定的第三個分區是:x>5 and x<=7

每一個分區按照其在breaks中的順序依次對應lables參數中的一個因子。

四,排名函數

排名函數用于對向量元素進行排名,按照升序的順序對數據進行排序:

rank(x, na.last =TRUE,

ties.method= c("average", "first", "last", "random", "max", "min"))

參數注釋:

na.last :控制如何對待NA,如果設置為TRUE,那么缺失值排在最后一位;如果為FALSE,那么缺失值排在第一位;如果設置為NA,那么缺失值被移除;如果設置為keep,那么排名為NA。

ties.method :控制如何對待tie,一個tie是指值重復的元素。

例如,對向量進行排名,把排名的結果存儲到變量中:

> r1 r1

[1] 2 1 3 4 5

五,替換

函數replace()用于把向量中指定位置的元素替換為指定的值(或向量):

replace(x, list, values)

參數注釋:

list:整數向量,指定被替換的元素的位置

values:替換的值(或向量)

例如,把向量的第1個、第3個和第7個的元素值替換為0:

> replace(1:9,c(1,3,7),0)

[1] 0 2 0 4 5 6 0 8 9

六,重復

rep()函數把輸入的參數重復多次,如果參數是表達式,rep()函數會把表達式的結果重復多次;而replicate()函數是重復調用表達式,每次調用表達式的過程都是獨立的,這意味著,如果產生隨機數,rep()函數產生的隨機數是”偽隨機的“,重復第一次產生的隨機數,而replicate()函數產生的隨機數是真正意義上的隨機數,每次都不相同。

> rep(runif(1),5)

[1] 0.8721105 0.8721105 0.8721105 0.8721105 0.8721105

> replicate(5,runif(1))

[1] 0.9426709 0.1280271 0.1926333 0.7091503 0.5404846

七,逆轉

rev()函數用于把一個向量的元素逆轉:

> rev(c(1,5,3,7))

[1] 7 3 5 1

八,排序

sort()函數用于對向量排序,返回有序的向量;order()函數返回向量元素的序號,能夠用于對data.frame排序:

order(..., na.last = TRUE, decreasing =FALSE, method= c("auto", "shell", "radix"))

sort(x, decreasing= FALSE, na.last = NA, ...)

例如,使用order()函數按照數據框的y列進行排序:

> df df

x y1 6 5

2 3 1

3 7 7

4 5 3

>df[order(df$y),]

x y2 3 1

4 5 3

1 6 5

3 7 7

九,刪除重復值

使用R去重有兩種做法,第一種做法是把返回向量中的唯一值;第二個方法是返回向量中重復元素的位置,然后刪除重復元素。

1,刪除重復值

unique() 函數用于移除重復數據,用于向量,數據框或數組的去重:

unique(x, incomparables = FALSE)

參數 incomparables:用于指定不能比較的值構成的向量。FALSE是一個特殊的值,表示所有的值都可以比較。

2,檢查重復值

duplicated()函數用于檢查重復的元素,返回元素類型是邏輯值的向量或數據框:當元素的值為FALSE時,表示該元素不是重復值;當元素的值是TRUE時,表示該元素是前面(位置)的某一個元素的重復值。

duplicated(x, incomparables = FALSE, ...)

該函數的處理流程是:下標最小的元素是第一次出現的元素,標記為FALSE,當該元素值再次出現,表明該變量出現重復值,標記該元素為TRUE。

例如,以下代碼用于刪除數據框df中變量var的重復值:

df

十,邏輯TRUE的索引

which()函數,用于從邏輯向量中返回TRUE值在向量中的索引,參數x是一個由邏輯值構成的向量:

which(x)

例如,使用which()函數返回邏輯向量中TRUE值的索引:

> which(lv

[1] 1 3 7

> which(exper 5)

[1] 6 7 8 9

十一,構造環境

常用于數據框,使R表達式位于數據框的作用環境中,便于對數據框變量的引用:

with(data, expr, ...)

within(data, expr, ...)

這兩個函數的區別是:with()函數只能定義一個變量,而within()函數可以定義多個變量:

with(mtcars, mpg[cyl == 8 & disp > 350])

#only define one variable

mtcars$mpg[mtcars$cyl== 8 & mtcars$disp > 350]#define multiple variablesaq

lOzone

Month

cTemp

S.cT

rm(Day, Temp)

})

十二,Reduce函數

Reduce()函數對一個向量循環執行函數(該函數有兩個參數),Reduce()函數的定義是:

Reduce(f, x, init, right = FALSE, accumulate = FALSE)

參數注釋:

f :有兩個參數的函數對象

x:向量

init :一個標量值,類型和x向量的元素相同;

right :邏輯值,當值為FALSE時,從向量的左側開始,依次向右側取出元素傳遞到給函數;當值為TRUE時,從向量的右側開始,依次向左側取出元素,傳遞給函數;

accumulate:邏輯值,a logical indicating whether the successive reduce combinations should be accumulated. By default, only the final combination is used.

例如,計算一個向量的累加和,首先,把初始值和向量的第一個元素1傳遞給sum()函數,計算出結果11,然后,把11和向量的第二個元素傳遞給函數sum(),計算出結果13,依次類推:

> Reduce(sum,1:5,10)

[1] 25

Reduce()函數內部執行的過程等價于:

a

b

c

d

sum(d,5)

十三,條件過濾器

按照條件從向量中選擇元素,當條件為TRUE時,把該元素添加到結果向量中。參數 f 是一個返回邏輯值的函數(該函數必須有一個輸入參數),參數x是一個向量:

Filter(f, x)

例如,從一個數值向量中,選擇元素值大于5的元素:

> fx 5;> Filter(fx,1:10)

[1] 6 7 8 9 10

十四,計算累加

使用cumsum(x)來計算向量元素的累加值,累加的計算過程是迭代的:

step1:從第一個元素向右計算,把第一個元素的值作為第一次計算的結果;

step2:移動到下一個元素,把前一次計算的結果和當前元素求加和;

step3:重復步驟step2,直到移動到最后一個元素為止;

例如,計算向量c(1:5)的累加值:

> cumsum(1:5)

[1] 1 3 6 10 15

十五,計數出現的次數(tabulate)

tabulate()函數的作用是使用bin構造整數向量v,并計算bin中每個整數在v中出現的次數。

tabulate(bin, nbins = max(1, bin, na.rm = TRUE))

tabulate()函數構造的整數向量是v

tabulate()函數的作用是用v向量元素值表示bin元素的出現頻次。

例如,tabulate()函數構造向量c(0,0,0,0,0),下標為2的元素值1,表示bin向量中元素2出現的頻數是1,依次類推:

> tabulate(bin = c(2,3,3,5))

[1] 0 1 2 0 1

十六,diff

該函數計算向量相鄰元素之間的差異,后者減去前者:

d= c(10,1,1,1,1,1,1,2,1,1,1,1,1,1,1,3,10)

diff(d)[1] -9 0 0 0 0 0 1 -1 0 0 0 0 0 0 2 7

參考文檔:

總結

以上是生活随笔為你收集整理的r语言的runmed函数_R实战 第五篇:常用函数的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品动漫3d一区二区三区免费版 | 越南性xxxx精品hd | 欧美字幕 | 污视频网站在线看 | 免费无遮挡在线观看视频网站 | 老司机深夜网站 | 涩涩视频免费在线观看 | 美女三级黄色片 | 美痴女~美人上司北岛玲 | 婷婷国产一区二区三区 | 欧美在线黄色 | 中文字幕1区2区3区 www.com黄色片 | 国产乱人乱偷精品视频a人人澡 | 国产精品视频一区二区三 | 中文字幕a级片 | 九九激情视频 | 日本三级在线视频 | 波多野结衣高清电影 | 偷拍自拍一区 | a天堂在线观看视频 | 国产精品视频久久 | 成人黄色免费观看 | 久青草视频在线观看 | 老女人做爰全过程免费的视频 | 国产精品免费一区二区三区在线观看 | 秋霞欧美一区二区三区视频免费 | 色中色综合 | 四川丰满妇女毛片四川话 | av资源首页| 香蕉网在线观看 | 亚洲国产成人精品激情在线 | 国产在线一二 | 美女被出白浆 | 日韩欧美自拍偷拍 | 国产精品一区二区三区在线免费观看 | 欧美 日韩 国产 成人 在线 | 玩日本老头很兴奋xxxx | 国产chinesehd天美传媒 | 日本乱淫视频 | 色婷婷视频在线观看 | eeuss国产一区二区三区黑人 | 婷婷综合另类小说色区 | 免费国产一级 | 成人网在线免费观看 | www污网站 | 人妻天天爽夜夜爽一区二区三区 | 黄色在线免费观看网站 | 国产剧情久久 | 欧美偷拍少妇精品一区 | 欧美一区二区免费 | 伊人久久大香线蕉av一区 | 日本天堂免费a | 天天色综合久久 | 午夜偷拍福利 | 免费在线观看日韩av | 国产剧情一区 | 国内少妇毛片视频 | 亚洲精品国产精品国自产网站 | 四虎网站最新网址 | 欧美日韩精品在线视频 | 狠狠香蕉| 黄色性生活一级片 | 亚洲黄色小说图片 | 少妇一级淫片免费观看 | 波多野结衣丝袜 | 亚洲男人的天堂在线视频 | 日韩极品一区 | jizz免费视频| 椎名空在线观看 | 欧美老肥妇做.爰bbww视频 | 草比视频在线观看 | 99极品视频| 男女啪啪毛片 | 国产精品免费看 | 日韩精品高清视频 | 国产精品视频一二三 | 可以免费看毛片的网站 | 亚洲成人黄色网 | 亚洲精品性 | 免费在线观看你懂的 | 麻豆三级在线观看 | 国产精品久久久久久久久久久久久久 | 日韩欧美一区二区三区四区五区 | 中文字幕一区不卡 | 涩天堂 | 91新网站| 黄色片18| 天躁夜夜躁狼狠躁 | 日本天堂免费 | 就是喜欢被他干 | 调教亲女小嫩苞h文小说 | 自拍愉拍 | 91干视频| 手机在线观看毛片 | 欧美日韩一区二区区 | 宅男av| 亚洲高清无码久久久 | 1024毛片基地| 欧美性第一页 |