❶ R語言數據對象類型
在R中盡量使用 <- 進行賦值, <- 更標准。在R中使用 = 進行賦值可能會出現錯誤(有些函數會將其解釋為判斷)——因為R起源於S語言,S語言的定義如此。
模式-使用mode()可以查看對象的數據類型
長度-使用length()可以查看對象的長度
標量可以是數字、字元、邏輯值等。
結果
向量可以由單個或多個值組成,多值的向量只能由相同類型的值組成,有一維和多維向量。
向量用於存儲數值型、字元型、邏輯型數據
is.na()判斷是否為缺失值,返回一個邏輯性向量
將自變數連接成一個字元串。
一般的使用形式是paste (..., sep = " ", collapse = NULL), ... 表示想要連接的不同自變數,sep表示不同自變數之間添加的符號,collapse打開之後表示將整個自變數變成一個單一的變數
對對象進行重復
在統計學中,按照變數值是否連續把變數分為連續變數與離散變數兩種。分類變數是說明事物類別的一個名稱,其取值是分類數據。變數值是定性的,表現為互不相容的類別或屬性。因子就是一類分類離散變數。
因子是帶有水平(level)的向量。
factor()函數一般形式為:
可以用來篩選因子的level
Table()函數對應的就是統計學中的列聯表,是一種記錄頻數的方法。對於因子向量,可用函數table()來統計各類數據的頻率。Table()的結果是一個帶元素名的向量,元素名為因子水平,元素值為該水平的出現頻率。
tapply()是對向量中的數據進行分組處理,而非對整體數據進行處理。函數一般形式為:
gl()函數可以方便地產生因子,函數一般形式為:
矩陣是一個二維數組,只是每個元素都擁有相同的數據類型(數值型、字元型或邏輯型)。注意與數據框的差別,數據框不同列的數據類型可以不同。
函數matrix ()是構造矩陣(二維數組)的函數,其構造形式為:
數組與矩陣類似,但是維度可以大於2。數組有一個特徵屬性叫做維數向量(dim屬性),維數向量是一個元素取正整數值的向量,其長度是數組的維數,比如維數向量有兩個元素時數組為二維數組(矩陣)。維數向量的每一個元素指定了該下標的上界,下標的下界總為1。
R軟體可以用array()函數直接構造數組,其構造形式為:
數據框與矩陣類似,為二維,其數據框中各列的數據類型可以不同,但是長度必須一樣。數據框在生物數據中用得比較多,是非常重要的一類數據類型。
數據框與矩陣不同的是數據框不同的列可以是不同的數據類型,並且數據框假定每列是一個變數,每行是一個觀測值。
作為數據框變數的向量、因子或矩陣必須具有相同的長度(行數)。數據框可以用data.frame()函數生成,其用法與list()函數相同。
data.frame(col1,col2,col3.....)其中列向量col1,col2等可以是任何類型的向量
列表可以儲存不同類型的數據,是一些對象的有序集合。它的元素也由序號(下標)區分,但是各元素的類型可以是任意對象,不同元素不必是同一類型。元素本身允許是其他復雜數據類型。比如一個列表的元素也允許是一個列表。
R軟體中利用函數list()構造列表,一般語法為:
Lst<-list(name_1=object_1,…, name_1=object_m)
其中name是列表元素的名稱;object_i(i=1,…,m)是列表元素的對象。
unlist()函數:將list函數拉直成一個向量
❷ r語言 將時間加1小時
使用POSIXIt函數。
.POSIXIt作用是打散時間,把時間細分來進行儲存。POSIXIt是S3泛型函數,根據參數的數據類型選擇不同的轉換方法,除字元串外還能夠轉換數字,因子等數據類型,適應性很強。
❸ R語言中如何把數據框里的元素改成數值型
R語言有專用的日期數據格式
hour<-as.Date(hour,'%R')
❹ 請問R語言在安裝pc包時出錯是怎麼回事
您好,這樣的:
步驟1:打開你電腦中的殺毒軟體
步驟2:關掉殺毒軟體的實時防護/監控功能
步驟3:在線或本地安裝你要裝的R安裝包
步驟4:安裝完R安裝包後,重新打開殺毒軟體的實時防護/監控功能。
步驟5:在R中運行你剛才安裝的包。
sion 3.0.1 (2013-05-16)
Platform: i386-w64-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=Chinese (Simplified)_People's Republic of China.936
[2] LC_CTYPE=Chinese (Simplified)_People's Republic of China.936
[3] LC_MONETARY=Chinese (Simplified)_People's Republic of China.936
[4] LC_NUMERIC=C
[5] LC_TIME=Chinese (Simplified)_People's Republic of China.936
attached base packages:
[1] stats graphics grDevices utils datasets methods base
>
❺ r語言如何把數據框內的數值型數據轉變成日期型數據
有數據集a,變數x,將變數x從數值型變為日期型,其代碼如下:
a$x=as.Date(a$x)
❻ R語言中使用as.Date想轉變日期的形式 as.Date(x,format ("%Y%d%m")
在我們日常所遇到的數據分析任務中,會遇到很多與日期時間掛鉤的數據,比如本月每日的銷售額和網頁一天內每個時間節點的點擊量。這類型的數據大多數為時間序列,而時間序列分析在日常中也是很常見的。現在我們先來聊一下R語言中關於日期時間的處理,之後有時間的話就學習一些有關時間序列分析的方法。
一、日期函數as.Date()函數
R中自帶的函數as.Date首先和大家介紹一下它的日常用法,第一個就是我們使用as.Date來返回日期數據形式,且默認的格式為年-月-日,format參數用於識別輸入的日期按照那種數據邏輯輸入,比如下面數據是以"*年*月*日"的邏輯輸入:
> as.Date("2019年9月28日", format = "%Y年%m月%d日")
[1] "2019-09-28"
其中我們看到上面%Y等等的字元,其實是日期格式的一種字元形式,常用的格式如下:
第二個用法就是我們給定起點日期,再輸入延後天數,就可以輸出對應的日期:
> as.Date(31,origin ='2019-01-01')
[1] "2019-02-01"
二、時間函數POSIXct與POSIXlt
(1).POSIXIt主要特點:作用是打散時間,把時間分成年、月、日、時、分、秒,並進行存儲我們可以結合unclass()函數,從而提取日期時間信息。比如:
> unclass(as.POSIXlt('2018-9-7 8:12:23'))
$sec
[1] 23
$min
[1] 12
$hour
[1] 8
$mday
[1] 7
$mon
[1] 8
$year
[1] 118
$wday
[1] 5
$yday
[1] 249
$isdst
[1] 0
$zone
[1] "CST"
$gmtoff
[1] NA
我們輸入帶時間的日期數據,利用unclass和as.POSIXlt函數就可以返回秒、分、時、日、該年已過月數、已過年數(從1900起)、星期幾、該天對應該年的第幾天,時區等等。
(2).POSIXct 是以1970年1月1號8點開始的以秒進行存儲,如果是負數,則是之前的日期時間;正數則是之後,比如:
> unclass(as.POSIXct('1970-1-1 8:00:20'))
[1] 20
attr(,"tzone")
[1] ""
三、日期時間的運算
(1).日期相減,得到相差的天數
> as.Date("2019-10-01") - as.Date('2019-9-26')
Time difference of 5 days
(2).帶時間的日期相減,得到相差數(可以指定units參數為"secs","mins","hours","days")
> difftime('2019-10-1 10:00:00',"2019-10-1 6:00:00",units="hours")
Time difference of 4 hours
❼ R語言使用read.csv()函數時0-1型數據自動識別成int型,怎麼改成因子
你的文件是file.csv
>data<-read.csv("file.csv",header=T)
比如說第2列是性別 1是男 0是女
那麼你可以強制轉換,也可以用函數
>sex<-factor(data[,2]) 或者 >sex<-as.factor(data[,2])
如此sex就變成了因子型的
你可以把0,1改成female ,male
>levels(sex)<-c("female","male")
最後帶回去
>data[,2]<-sex
❽ 為什麼csv時間序列對象無法轉換為xts對象
自己解決了這個麻煩。抓取的數據先在excel里加工好,然後復制到txt文本里,再把後綴名改為.csv。設置好目錄後,載入xts包,直接輸入as.xts(read.zoo(『name.csv』,header=T))就OK了,可以通過head()查看是否正確。
我以前是在excel里另存為csv格式,網路上說CSV檔如果以EXCEL開啟,由於計算機檔案數據轉換的原因,會將其CRC之數值改做科學記號方式儲存,而造成檔案中的 CRC值發生錯誤。R語言的基礎包中提供了兩種類型的時間數據,一類是Date日期數據,它不包括時間和時區信息,另一類是POSIXct/POSIXlt類型數據,其中包括了日期、時間和時區信息。一般來講,R語言中建立時序數據是通過字元型轉化而來,但由於時序數據形式多樣,而且R中存貯格式也是五花八門,例如Date/ts/xts/zoo/tis/fts等等。lubridate包,timeDate包,都有用。看來還要多學習啊。
❾ 如何在r語言輸入日期型數據
建議直接用簡單 ts() 函數 ,自動轉換為時間序列
詳情請見 help(ts) 裡面有詳細的用法。
❿ R語言怎麼將數據框中的多列字元型轉換為數值型
dflme1[,2:60]<-lapply(dflme1[,2:60],as.numeric)。