本書作者: 吳喜之
鑒于吳教授的建議,在閱讀本書后續(xù)章節(jié)之前,我們先對附錄中的R相關(guān)操作進行練習。
操作系統(tǒng):win10
R版本:R-3.3.3
這部分內(nèi)容使用Rmarkdown進行記錄。如果做練習,可以直接在R中運行每一個命令
強烈建議初學者自己去運行每一個命令,理解其中的具體含義。
實踐1 —— 熱身
x = 1:100 #將1-100賦值到x,但是不顯示
(a = 1:100) #同樣將1-100賦值到a,但是將直接顯示a的結(jié)果
sample(x, 20) #從x中隨機不放回地抽取20個值作為樣本,將直接顯示結(jié)果
set.seed(011); sample(1:10, 3) #先設(shè)定種子,再隨機取值。注意,設(shè)定種子的目的是保證模擬結(jié)果的可重復性,011可認為是零一一號種子
z = sample(1:200000, 10000) #不放回地抽取10000個值作為樣本
z[5:15] #提取z中5-15位的數(shù)值
y = c(5, 7, 12, 8, 5, 10)
z[y] #提取以y為下標的z的元素值
(z = sample(x, 100, rep=T)) #從x中有放回地隨機抽取100個值作為樣本
(z1 = unique(z)) #去重后將結(jié)果保存至z1
length(z1) #統(tǒng)計z1中的元素個數(shù),即z中不同的元素個數(shù)
a = 1:10
b = 5:15
setdiff(a, b) #從a中去除與b重合的元素,即保留a特異的元素
setdiff(b, a) #從b中去除與a重合的元素(注意與上一個命令進行區(qū)分)
sort(union(a, b)) #將a與b的元素合并后排序,注意會去重
setequal(union(a, b), b) #判斷a與b合并后的元素是否與b相同,注意會去重
intersect(1:10, 7:20) #取兩個集合的交集
sample(1:100, 20, prob=1:100) #從1-100中不等概率地隨機抽樣,prob限定每個數(shù)值被抽到的概率,需與元素個數(shù)相同。[看出來了吧,電腦抽獎也可以造假]
實踐2 —— 簡單運算
pi * 10^2 #pi為圓周率
?“*” #聯(lián)網(wǎng)查看基本算術(shù)運算方法
"*"(pi, "^"(10, 2)) #這是一種類似“密碼”的寫法,你可以了解一下,萬一想寫個暗語什么的可以考慮~
x = pi * 10 ^ 2
x
print (x)
(x = pi * 10 ^ 2) #賦值同時打印
pi ^ (1:5) #指數(shù)可以是向量,結(jié)果也將是向量
print(x, digits = 12) #輸出x的12位數(shù)字
實踐3 —— 關(guān)于R對象的類型
x = pi * 10 ^ 2
class(x)
mode(x)
typeof(x)
class(cars) #cars為R自帶的數(shù)據(jù)
mode(cars)
typeof(cars)
#modes have the same set of names as types except that:
#types "integer" and "double" are returned as "numeric"
#types "special" and "builtin" are returned as "function"
#types "symbol" is called mode "name"
#types "language" is returned as "(" or "call"
#分類似乎是個很復雜的事情,有興趣深入研究可以參考 <https://stackoverflow.com/questions/8855589/a-comprehensive-survey-of-the-types-of-things-in-r-mode-and-class-and-type>
names(cars) #顯示cars中的變量名
summary(cars) #對cars進行基本統(tǒng)計分析
cars[1:6, ] #顯示前6行數(shù)據(jù)
head(cars) #顯示頭幾行數(shù)據(jù),默認為前6行,結(jié)果同上
tail(cars) #顯示最后幾行數(shù)據(jù)
str(cars) #換一種方式展示數(shù)據(jù)
row.names(cars) #顯示數(shù)據(jù)的行名
attributes(cars) #顯示數(shù)據(jù)基本信息
class(dist~speed) #類型為公式,左側(cè)為因變量,右側(cè)為自變量
plot(dist~speed, cars) #繪制兩個變量的散點圖
plot(cars$speed, cars$dist) #x軸數(shù)據(jù)在左,y軸數(shù)據(jù)在右,注意坐標軸的title與上圖有一些區(qū)別
后續(xù)操作更為復雜,從易到難,咱們慢慢來。