2.1.1 向量(vector) - Data Thinking with R
文章推薦指數: 80 %
資料結構(data structure) ... R 語言中的資料結構除了一般程式語言常見結構外(vector, matrix, array, list),還 ... 使用 [ ] 進行元素的取代與新增.
Perface
1Introduction
1.1Prerequisites
1.2WorkingDirectory
1.2.1Rproject
1.3Packages
1.4Resources
2RBasic
2.1變數與常用資料結構
2.1.1向量(vector)
2.1.2資料框(data.frame)
2.1.3類別物件(factor)
2.1.4陣列或矩陣(matrix)
2.1.5序列(list)
2.1.6特殊變數介紹
2.2基本運算
2.2.1數學運算
2.2.2基礎統計
2.2.3文字處理
2.3基礎I/O
2.3.1Input/Output
2.3.2TroubleShooting
2.4控制流程與自訂函數
2.5綜合演練
2.5.1FirstSteptoDataAnalysis
2.5.2Conditionalslicing
2.5.3Write/Readfile
3ETL-Usingdplyr
3.1DataWrangling
3.2Dataset
3.3PipelineStyle
3.4library(dplyr)
3.4.1select
3.4.2filter
3.4.3mutate
3.4.4group_by
3.4.5summarise
3.4.6arrange
3.4.7bind
3.5library(reshape2)
3.5.1melt
3.5.2cast
3.6綜合演練
3.7CrossAnalysis
4EDA-Usingggplot2
4.1EDA
4.2library(ggplot2)
4.2.1Scatterplot
4.2.2LineChart
4.2.3Histogram
4.2.4BarChart
4.2.5PieChart
4.3facet_
4.4library(gridExtra)
4.5library(plotly)
5Reporting-Usingrmarkdown
5.1Markdown(*.md)
5.2RMarkdown(*.Rmd)
6DataAcquisition
6.1OpenData
6.2FromLocalFiles
6.3BatchDownload&import
6.4AccessinganAPI
7UsingDatabase
7.1RDatabaseInterface(DBI)
7.2Sqlite
8ElementaryStatistics-QuickReview
8.1Preliminaries
8.2DescriptiveStatistics
8.2.1Cross-Analysis
8.2.2Correlation
8.3ExploratoryDataAnalysis
8.4HypothesisTesting
8.4.1t-tests
8.4.2ANOVA
8.4.3MANOVA
8.5LinearModel
8.5.1SimpleLinearModel
8.6GeneralizedLinearModels
9MultivariateStatistics-QuickReview
9.1Preliminaries
9.2PrincipalComponentsAnalysis
9.3FactorAnalysis
9.4Clustering-kmeans
ReleaseNotes
DataThinkingwithR
2RBasic
RafeC.H.Liu/JohnsonHsieh,LastUpdate:2018-07-10
2.1變數與常用資料結構
變數(variable)
R語言中變數的賦值方式可以使用,1.數值>布林。
可利用以下函數自行轉換向量的類別:as.character,as.numeric,as.logical。
#向量只容許一種類別(字串>數值>布林)
c(1,2,"three")#數值被轉換成字串
[1]"1""2""three"
c(1,2,TRUE,FALSE)#布林值TRUE被轉換成1,FALSE被轉換成0
[1]1210
c(1.1,2.4,TRUE,FALSE)
[1]1.12.41.00.0
c("one",2.4,TRUE)#所有元素都被轉換成字串
[1]"one""2.4""TRUE"
#字串轉數字
a1,=,<=,==,!=)、邏輯運算子(&,|)以及負號(-)進行向量的取值。
此外,R也支援利用變數的名稱(names)來取值。
#1stand3rdelementsofvector
x3
[1]TRUEFALSETRUE
which(x>3)#whichindicesareTRUE
[1]13
x[which(x>3)]
[1]4.393.17
x[x>3]#simplifyexpression
[1]4.393.17
y[y!="apple"]
[1]"book""cat"
y1["A"]
A
"apple"
y1[y1=="apple"]
A
"apple"
names(y1)[y1=="apple"]
[1]"A"
向量元素取代與新增
使用[]進行元素的取代與新增
y3&z==TRUE,"v2"]
[1]applecat
Levels:applebabybookcat
data.frame的合併
利用rbind(上下合併)、cbind(左右合併)對data.frame進行合併
xmatrix–>data.frame)
matrix(1:4,nrow=2)
[,1][,2]
[1,]13
[2,]24
matrix(1:4,nrow=2,byrow=TRUE)
[,1][,2]
[1,]12
[2,]34
#取值:與data.frame相同
x5]#numeric(0)
numeric(0)
100/0#Inf
[1]Inf
-pi/0#-Inf
[1]-Inf
0/0#NaN
[1]NaN
Inf-Inf#NaN
[1]NaN
2.2基本運算
2.2.1數學運算
x|t|)
(Intercept)-0.3630760.039762-9.1314.7e-16***
Petal.Length0.4157550.00958243.387<2e-16***
---
Signif.codes:0'***'0.001'**'0.01'*'0.05'.'0.1''1
Residualstandarderror:0.2065on148degreesoffreedom
MultipleR-squared:0.9271,AdjustedR-squared:0.9266
F-statistic:1882on1and148DF,p-value:<2.2e-16
2.2.3文字處理
StringManipulation
處理“string”型態之方法集合
正規表達式(regex)補充教材:
正規表達式
IntroductiontoStringMatchingandModificationinRUsingRegularExpressions
r1條件控制->自訂函數,逐層分解
常用控制流程包含
迴圈:for(varinseq)expr
seq:ex.1:10,1:nrow(x),c(4,5,6,7)(會從第一個位置開始取值)
expr:使用{}標記程式執行範圍
條件控制:if(cond)expr1elseexpr2else.....
cond:判斷條件一定須返回TRUE/FALSE,ex.a==b,a%in%b,is.na(a)
精簡版函式:ifelse(cond,TRUE,FALSE)
其餘控制流程:Quick-R:ControlFlow
自訂函數(f(x))
可視為一個物件myfun4的資料
#WRITEYOURCODE
2.5.3Write/Readfile
#WritetoCSVfile
write.csv(iris,file='iris.csv')
write.csv(iris,file='iris.csv',row.names=FALSE)
#ReadaCSVfile
data
延伸文章資訊
- 1R語言學習筆記(二):常用指令 - Yanwei Liu
as.character(my_logical) # "TRUE"### R 語言基本的資料結構大致有五類。 ... merge(data1, data2, all = FALSE)#grep,...
- 2R學習筆記:資料清理Cleaning Data (2)
str_pad():將0補上字串資料 str_detect():偵測向量資料中的特定字串 str_replace() : 尋找並取代文字值(例如用-取代e,"one apple"會變成on- a...
- 3在R 中用0 代替NA | D棧
在本文中,你將瞭解兩種將資料框中的NA 值替換為零值的方法。其中一種使用Base R 子集重分配,而另一種則包含在dplyr 包中,執行速度快30%。
- 4R筆記--(2)基本資料型態 - RPubs
而在R語言的資料型態,常用的有這些:. integer; number; logic; character; factor; vector; list ...
- 56 資料處理與清洗| 資料科學與R語言
介紹如何使用R語言完成資料讀取、處理、分析與呈現,以及大數據技術與R的整合. ... 在所有的程式語言中,只要用到字串比對與字串取代等字串相關功能,都會用到正規表示 ...