一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - R語言 - R語言 如何獲取指定位置的數(shù)據(jù)

R語言 如何獲取指定位置的數(shù)據(jù)

2022-01-05 16:26hukun1995 R語言

這篇文章主要介紹了R語言 如何獲取指定位置的數(shù)據(jù),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

R語言-獲取指定位置的數(shù)據(jù)

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

正整數(shù)、負整數(shù)、零、空格、邏輯值、名稱

?
1
2
3
4
5
6
> 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.正整數(shù)索引

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

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

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

2.負整數(shù)索引

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

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

?
1
2
3
4
> 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.零索引

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

?
1
2
3
4
> matrix[1,0]
integer(0)
> matrix[0,0]
<0 x 0 matrix>

4.空格索引

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

?
1
2
3
4
> matrix[1,]
[1] 1 5 9 13 17
> matrix[1, ]
[1] 1 5 9 13 17

5.邏輯值索引

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

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

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

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

6.名稱索引

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

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

補充:R語言獲取特定時間段的數(shù)據(jù)

獲取特定時間段的表格數(shù)據(jù)方法:

1. 方法一:正則表達式

?
1
2
3
4
5
6
7
8
data <- read.csv('F:/data.csv')
date <- as.Date(data$Date)
#獲取2018-3-1到2018-3-10之間的第3-5列數(shù)據(jù)
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列的數(shù)據(jù)進行按列求平均值
mean <- apply(subT,2, mean)

2. 方法二:

?
1
2
3
4
5
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列數(shù)據(jù)
subT <- data[ymd_hms(data$Date) %within% int,3:5]

注意:

1. within判斷數(shù)據(jù)是否在該時間段之內(nèi),其中包括起始時間,不包括末尾時間。

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

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

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。如有錯誤或未考慮完全的地方,望不吝賜教。

原文鏈接:https://blog.csdn.net/xiaohukun/article/details/76048042

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 婷婷九月| 免费α片 | 国产不卡视频一区二区在线观看 | darkside动漫在线观看 | 天天舔天天干天天操 | 日韩亚洲人成在线综合 | 母性本能在线观看 | 婷婷色天使在线视频观看 | h版小说| 成年人视频免费在线观看 | 精品卡1卡2卡三卡免费视频 | 精品国产乱码久久久久久免费流畅 | 无限资源在线观看高清 | fuqer日本老师 | free性丰满hd性欧美人体 | 男人猛进猛出女人下面视频 | 国产激情一区二区三区四区 | 国产一级特黄aa大片免费 | ass巨大胖女人sias | 欧美成a人片免费看久久 | 男女姓交大视频免费观看 | 精品视频手机在线观看免费 | 久久三级视频 | 久久不射视频 | 97色伦图片7778久久 | 亚洲欧美日韩综合在线播放 | 国产免费一区不卡在线 | 欧美亚洲视频在线观看 | 9色视频在线观看 | 国产理论片在线观看 | 91大神在线观看精品一区 | 男人天堂中文字幕 | 亚洲精品有码在线观看 | 九九九久久久 | 男人都懂www深夜免费网站 | 国产欧美日韩在线不卡第一页 | 国产精品久久免费 | 99久久伊人精品波多野结衣 | 操碰人人 | kayden kross喷水 | 欧洲美女女同 |