R語言學習

2021-07-03 01:20:51 字數 3994 閱讀 7246

sd計算樣本的標準差

var計算樣本的方差

cor計算兩個變數間的相關係數

cov計算兩變數間的協方差

使用函式library或者函式require把需要的r包載入r中:

library函式中的r包名不需要用雙引號括起來。

detach(package:mass)函式會解除安裝當前已載入的r包。

呼叫其他r包中的資料集,使用data函式並給出資料集名稱和包名稱

data(dsname, package="pkgname")

print函式對向量進行一致的格式化:先找到格式化最小數值所必須的位數,然後把所有資料格式化為相同的寬度。

cat("the answer is", 3, "\n", file="out.txt")

con <- file("out.txt", "w")

cat(data, file=con)

cat(results, file=con)

cat(conclusion, file=con)

close(con)

read.fwf("filename", widths=c(w1,w2,...,wn))

向量是同性質的,有乙個名稱(names)屬性。

列表是非同性質的。

向量有乙個屬性稱為維數dim.其初始值為null。

乙個資料框實際上是乙個列表:

資料框的列必須命名。

dfrm[i], dfrm[[i]],dfrm$name

dfrm[i,j] dfrm[i,] dfrm[,j]

有乙個字串向量或整數向量。需要r將它們視為乙個因子,r的術語將其叫做分類變數

每乙個分類變數的可能值稱為乙個水平。乙個由水平值構成的向量叫做因子。

lst <- list()

lst$far.left <- 0.023

lst$left <- 0.159

lst$mid <- 0.500

lst$right <- 0.841

lst$far.right <- 0.977

values <- pnorm(-2:2)

names <- c("far.left", "left", "mid", "right", "far.right")

lst <- list()

lst[names] <- values

將null賦給要移除的元素,r會將該元素從列表中移除

unlist將列表轉換為向量

假設lst是一部分元素為null的列表:

lst[lst <0] <- null  移除所有負值

可以通過乙個邏輯向量索引列表,無論什麼情況只要向量元素為true,它相應的列表元素就可以選定。其次,可以通過把null賦值給乙個列表元素的方法來移除它。

矩陣是逐列而非逐行填充的

mat <- matrix(c(1.1,1.2,1.3,2.1,2.2,2.3), 2,3,byrow=true)

t(a) 矩陣的轉置

solve(a)  矩陣求逆

a %*% b  矩陣a與矩陣b相乘

diag(n)  乙個n階對角矩陣

每個矩陣都有乙個rownames和colnames屬性

vec <- mat[1,] 第一行

vec <- mat[,3]第三列

row <- mat[1,,drop=false]

給資料框新增一行或更多新行

newrow <- data.frame(city="west dundee", country="kane", state="il", pop=5428)

suburbs <- rbind(suburbs, newrow)

suburbs <- rbind(suburbs, data.frame(city="west dundee", county="kane", state="il", pop=5428))

dfrm是乙個資料框

dfrm[[n]]返回一列

dfrm[,vec,drop=false]

dfrm <- as.data.frame(mat)

colnames(dfrm) <- c("before", "treatment", "after")

clean <- na.omit(dfrm)

z <- with(suburbs, (pop-mean(pop)))/sd(pop)

as.character(x)

as.complex(x)

as.numeric(x) or as.double(x)

as.integer(x)

as.logical(x)

runif(1)

binom 二項分布

geom 幾何分布

hyper 超幾何分布

pois 泊松分布

annova(m)

給出方差分析表

coefficients(m)   coef(m)

給出模型係數

confint(m) 給出回歸係數的置信區間

deviance(m)  給出殘差平方和

letters(1:30)

which.max(a)

which(a==2)

a[which.max(a)]

which(a>5)

a[which(a>5)]

rev(a) //把向量顛倒

sort(a) //把向量排序

a1=c(1:12)

matrix(a1, nrow=3, ncol=4)

matrix(a1, nrow=3, ncol=4, byrow=t)

矩陣的運算

t(a1) //轉置

a+ba-b

a %*% b

a=matrix(1:16, 4, 4)

diag(a)

diag(diag(a))

diag(4) //4代表維數

solve(a) //逆矩陣

solve(a,b) //解方程組,ax=b

eigen() //求特徵值

a=diag(4)+1

a.e=eigen(a, symmetric=t)

a.ea.e$vectors%*%diag(a.e$values)%*%t(a.e$vectors)

x=c(1:6)

is.vector(x)

dim(x) <- c(2,3)

is.array(x)

is.matrix(x)

data.frame(x1,x2)

w <- read.table("test.txt", header=t)

mean(x)  colmeans(x)  colmeans(x)[c("x1","x2","x3")]

table(x$x1)

barplot(table(x$x1))

pie(table(x$x1))

boxplot(x$x1, x$x2, x$x3)

boxplot(x[2:4], col=c("red", "green", "blue"), notch=t)

boxplot(x[2:4], col=c("red", "green", "blue"), horizontal=t)

qq圖plot(x$x1, x$x2, main="數學分析與線性代數成績的關係",xlab="數學分析",ylab="線性代數",xlim=c(0,100),ylim=c(0,100), xaxs="i", yaxs="i", col="red", pch=19)

plot(a, b, type='l')

lines(rain$newyork, type='l', col="blue", lwd=2)

plot(density(rnorm(100)))

類別(名義型)變數和有序類別(有序型)變數在r中稱為因子。

函式factor()以乙個整數向量的形式儲存類別值,整數的取值範圍是[1...k](其中k是名義型變數中唯一值的個數),同時乙個字串(原始值)組成的內部向量將對映到這些整數上。

要表示有序型變數,需要為factor()指定引數ordered=true

R語言學習

隨著大資料和雲計算快速發展,對資料分析提出了更高的要求。r語言就是乙個相對簡單運用廣泛的統計分析語言工具。r語言以簡潔著稱,一行 就可以繪製一幅圖。例如,我們需要繪製乙個全班男女生佔比圖,男生24個,女生16個。pie c 24,16 c 男生 60 女生 40 main 全班男女生佔比圖 col ...

R語言學習

author 秦景坤 date 2017 06 25 github r語言安裝 執行命令快捷鍵 ctrl r 清除控制台內容的快捷鍵 ctrl l rstudio的安裝 rattle 視覺化資料探勘工具 rattle是使用rgtk2包提供的gnome圖形使用者介面 rattle的安裝 install...

R語言學習 四

r中有許多軟體包,這些包中有豐富的繪圖函式,使用這些函式能畫出許多生動,簡明的圖形,這也是r語言強大的表現之一,這種主要介紹下與繪畫圖形相關的引數設定 1.dev.new 開啟乙個新的圖形介面 dev.off 關閉當前開啟的圖形 2.某變數par no.readonly true 一般在繪製新的圖形...