中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用R語言怎么獲取指定位置的數據

發布時間:2021-04-02 14:29:41 來源:億速云 閱讀:489 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關使用R語言怎么獲取指定位置的數據,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

R語言-獲取指定位置的數據

R中采用數據對象+[ , ]的方式獲取對應位置的數據,根據填入索引參數的不同類型可具體分為:

正整數、負整數、零、空格、邏輯值、名稱

> matrix
   [,1] [,2] [,3] [,4] [,5]
[1,]  1  5  9  13  17
[2,]  2  6  10  14  18
[3,]  3  7  11  15  19
[4,]  4  8  12  16  20

1.正整數索引

因為R中的起始位置為1,與一般的編程語言不同,所以這類索引最為常見。

需要注意的是,如果索引中存在重復值,R會繼續執行進而重復提取部分值,如:

> matrix[c(1,1),1:5]
   [,1] [,2] [,3] [,4] [,5]
[1,]  1  5  9  13  17
[2,]  1  5  9  13  17

2.負整數索引

使用負整數索引與正整數正好相反,R會返回不包含在負整數對應位置的元素,當需要選取的行或列很多時,用這個索引會更快捷。

需要注意,正整數索引與負整數索引可以同時出現在不同索引位置,但不能同時出現在同一位置,否則將報錯,具體如下:

> matrix[c(-1,-1),1]
[1] 2 3 4
> matrix[c(-1,1),1]
Error in matrix[c(-1, 1), 1] : only 0's may be mixed with negative subscripts

3.零索引

零索引的存在說實話并沒有什么意義,很有可能是設計師為了防止很多程序員無法避開從0開始計數而經常導致error的一種保護措施而已。使用情況如下:

> matrix[1,0]
integer(0)
> matrix[0,0]
<0 x 0 matrix>

4.空格索引

空格表示提取該索引位置所對應的所有維度,但不寫空格效果也一樣,具體如下:

> matrix[1,]
[1] 1 5 9 13 17
> matrix[1, ]
[1] 1 5 9 13 17

5.邏輯值索引

當提供的索引位置是一個包含TRUE和FALSE邏輯值的向量,那么R會匹配出索引值為TRUE的列,并取出相應元素。

使用這種方法,需要向量長度與索引位置的維度相同,否則就達不到需要的效果,具體如下:

> matrix[c(T,F,F,F),]
[1] 1 5 9 13 17

這種方式看似笨重,但在特殊情況下作用十分明顯

6.名稱索引

當被索引的對象有名稱屬性,就可以采用名稱作為索引提取相關元素,這是提取列的常用方法,因為列總會有名稱,具體如下:

> colnames(matrix)<-c("a","b","c","d","e")
> matrix[,"b"]
[1] 5 6 7 8

補充:R語言獲取特定時間段的數據

獲取特定時間段的表格數據方法:

1. 方法一:正則表達式

data <- read.csv('F:/data.csv')
date <- as.Date(data$Date)
#獲取2018-3-1到2018-3-10之間的第3-5列數據
subT <- date[(format(date,format = "%Y")=="2018"&as.numeric(format(date,format =       
   "%m"))=="3" &as.numeric(format(date,format = "%d"))>=1&as.numeric(format(date,format 
   = "%d"))<=10),3:5]
#對2018-3-1到2018-3-10之間第3-5列的數據進行按列求平均值
mean <- apply(subT,2, mean)

2. 方法二:

date1 <- as.POSIXct(paste("2018-3-1","08:00:00"))
date2 <- as.POSIXct(paste("2018-3-1","17:00:00"))
int <- interval(date1, date2)
#獲取2018-3-1 08:00:00到2018-3-1 17:00:00之間的第3-5列數據
subT <- data[ymd_hms(data$Date) %within% int,3:5]

注意:

1. within判斷數據是否在該時間段之內,其中包括起始時間,不包括末尾時間。

2.paste0(num_year[y],'_',m,'_1') 實現字符串的合并,其中m,num_year[y]為變量。

paste拼接時有空格,paste0無空格

上述就是小編為大家分享的使用R語言怎么獲取指定位置的數據了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江川县| 卓尼县| 阜宁县| 务川| 克什克腾旗| 额敏县| 丹东市| 孝感市| 万宁市| 竹溪县| 诸暨市| 淮安市| 东宁县| 邢台市| 石嘴山市| 昆山市| 苏尼特右旗| 凌海市| 汤阴县| 石景山区| 琼结县| 涿州市| 仙居县| 福泉市| 斗六市| 英吉沙县| 喀喇沁旗| 濉溪县| 鄂托克前旗| 绍兴县| 汤原县| 磐石市| 常山县| 琼中| 昌乐县| 西畴县| 即墨市| 定南县| 保德县| 台湾省| 建德市|