vector:向量 numeric:數(shù)值型向量 logical:邏輯型向量 character;字符型向量 list:列表 data.frame:數(shù)據(jù)框
站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到璧山網(wǎng)站設(shè)計(jì)與璧山網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請(qǐng)、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋璧山地區(qū)。
c:連接為向量或列表 sequence:等差序列 rep:重復(fù)
length:求長(zhǎng)度 subset:求子集 seq,from:to, NA:缺失值 NULL:空對(duì)象 sort,order,unique,rev:排序 unlist:展平列表 attr,attributes:對(duì)象屬性
mode,typeof:對(duì)象存儲(chǔ)模式與類(lèi)型 names:對(duì)象的名字屬性
character:字符型向量 nchar:字符數(shù) substr:取子串 format,formatC:把對(duì)象用格式轉(zhuǎn)換為字符串 paste,strsplit:連接或拆分
charmatch,pmatch:字符串匹配 grep,sub,gsub:模式匹配與替換
complex,Re,Im,Mod,Arg,Conj:復(fù)數(shù)函數(shù)
factor:因子 codes:因子的編碼 levels:因子的各水平的名字 nlevels:因子的水平個(gè)數(shù) cut:把數(shù)值型對(duì)象分區(qū)間轉(zhuǎn)換為因子
table:交叉頻數(shù)表 split:按因子分組 aggregate:計(jì)算各數(shù)據(jù)子集的概括統(tǒng)計(jì)量 tapply:對(duì)“不規(guī)則”數(shù)組應(yīng)用函數(shù)
+, -, *, /, ^, %%, %/%:四則運(yùn)算 ceiling,floor,round,signif,trunc,zapsmall:舍入 max,min,pmax,pmin:最大最小值
range:最大值和最小值 sum,prod:向量元素和,積 cumsum,cumprod,cummax,cummin:累加、累乘 sort:排序 approx和approx fun:插值 diff:差分 sign:符號(hào)函數(shù)
abs,sqrt:絕對(duì)值,平方根 log, exp, log10, log2:對(duì)數(shù)與指數(shù)函數(shù) sin,cos,tan,asin,acos,atan,atan2:三角函數(shù)
sinh,cosh,tanh,asinh,acosh,atanh:雙曲函數(shù)
beta,lbeta,gamma,lgamma,digamma,trigamma,tetragamma,pentagamma,choose ,lchoose:與貝塔函數(shù)、伽瑪函數(shù)、組合數(shù)有關(guān)的特殊函數(shù)
fft,mvfft,convolve:富利葉變換及卷積 polyroot:多項(xiàng)式求根 poly:正交多項(xiàng)式 spline,splinefun:樣條差值
besselI,besselK,besselJ,besselY,gammaCody:Bessel函數(shù) deriv:簡(jiǎn)單表達(dá)式的符號(hào)微分或算法微分
array:建立數(shù)組 matrix:生成矩陣 data.matrix:把數(shù)據(jù)框轉(zhuǎn)換為數(shù)值型矩陣 lower.tri:矩陣的下三角部分 mat.or.vec:生成矩陣或向量 t:矩陣轉(zhuǎn)置
cbind:把列合并為矩陣 rbind:把行合并為矩陣 diag:矩陣對(duì)角元素向量或生成對(duì)角矩陣 aperm:數(shù)組轉(zhuǎn)置 nrow, ncol:計(jì)算數(shù)組的行數(shù)和列數(shù) dim:對(duì)象的維向量
dimnames:對(duì)象的維名 row/colnames:行名或列名 %*%:矩陣乘法 crossprod:矩陣交叉乘積(內(nèi)積) outer:數(shù)組外積 kronecker:數(shù)組的Kronecker積
apply:對(duì)數(shù)組的某些維應(yīng)用函數(shù) tapply:對(duì)“不規(guī)則”數(shù)組應(yīng)用函數(shù) sweep:計(jì)算數(shù)組的概括統(tǒng)計(jì)量 aggregate:計(jì)算數(shù)據(jù)子集的概括統(tǒng)計(jì)量 scale:矩陣標(biāo)準(zhǔn)化
matplot:對(duì)矩陣各列繪圖 cor:相關(guān)陣或協(xié)差陣 Contrast:對(duì)照矩陣 row:矩陣的行下標(biāo)集 col:求列下標(biāo)集
solve:解線(xiàn)性方程組或求逆 eigen:矩陣的特征值分解 svd:矩陣的奇異值分解 backsolve:解上三角或下三角方程組 chol:Choleski分解
qr:矩陣的QR分解 chol2inv:由Choleski分解求逆
,,=,=,==,!=:比較運(yùn)算符 !,,,|,||,xor():邏輯運(yùn)算符 logical:生成邏輯向量 all,any:邏輯向量都為真或存在真
ifelse():二者擇一 match,%in%:查找 unique:找出互不相同的元素 which:找到真值下標(biāo)集合 duplicated:找到重復(fù)元素
optimize,uniroot,polyroot:一維優(yōu)化與求根
if,else,ifelse,switch:分支 for,while,repeat,break,next:循環(huán) apply,lapply,sapply,tapply,sweep:替代循環(huán)的函數(shù)。
function:函數(shù)定義 source:調(diào)用文件 call:函數(shù)調(diào)用 .C,.Fortran:調(diào)用C或者Fortran子程序的動(dòng)態(tài)鏈接庫(kù)。 Recall:遞歸調(diào)用
browser,debug,trace,traceback:程序調(diào)試 options:指定系統(tǒng)參數(shù) missing:判斷虛參是否有對(duì)應(yīng)實(shí)參 nargs:參數(shù)個(gè)數(shù) stop:終止函數(shù)執(zhí)行
on.exit:指定退出時(shí)執(zhí)行 eval,expression:表達(dá)式計(jì)算 system.time:表達(dá)式計(jì)算計(jì)時(shí) invisible:使變量不顯示 menu:選擇菜單(字符列表菜單)
其它與函數(shù)有關(guān)的還有:delay,delete.response,deparse,do.call,dput,environment ,,formals,format.info,interactive,
is.finite,is.function,is.language,is.recursive ,match.arg,match.call,match.fun,model.extract,name,parse,substitute,sys.parent ,warning,machine
cat,print:顯示對(duì)象 sink:輸出轉(zhuǎn)向到指定文件 dump,save,dput,write:輸出對(duì)象 scan,read.table,load,dget:讀入
ls,objects:顯示對(duì)象列表 rm, remove:刪除對(duì)象 q,quit:退出系統(tǒng) .First,.Last:初始運(yùn)行函數(shù)與退出運(yùn)行函數(shù)。
options:系統(tǒng)選項(xiàng) ?,help,help.start,apropos:幫助功能 data:列出數(shù)據(jù)集分析
每一種分布有四個(gè)函數(shù):d――density(密度函數(shù)),p――分布函數(shù),q――分位數(shù)函數(shù),r――隨機(jī)數(shù)函數(shù)。
比如,正態(tài)分布的這四個(gè)函數(shù)為dnorm,pnorm,qnorm,rnorm。下面我們列出各分布后綴,前面加前綴d、p、q或r就構(gòu)成函數(shù)名:
norm:正態(tài),t:t分布,f:F分布,chisq:卡方(包括非中心) unif:均勻,exp:指數(shù),weibull:威布爾,gamma:伽瑪,beta:貝塔
lnorm:對(duì)數(shù)正態(tài),logis:邏輯分布,cauchy:柯西, binom:二項(xiàng)分布,geom:幾何分布,hyper:超幾何,nbinom:負(fù)二項(xiàng),pois:泊松 signrank:符號(hào)秩,
wilcox:秩和,tukey:學(xué)生化極差
sum, mean, var, sd, min, max, range, median, IQR(四分位間距)等為統(tǒng)計(jì)量,sort,order,rank與排序有關(guān),其它還有ave,fivenum,mad,quantile,stem等。
R中已實(shí)現(xiàn)的有chisq.test,prop.test,t.test。
cor,cov.wt,var:協(xié)方差陣及相關(guān)陣計(jì)算 biplot,biplot.princomp:多元數(shù)據(jù)biplot圖 cancor:典則相關(guān) princomp:主成分分析 hclust:譜系聚類(lèi)
kmeans:k-均值聚類(lèi) cmdscale:經(jīng)典多維標(biāo)度 其它有dist,mahalanobis,cov.rob。
ts:時(shí)間序列對(duì)象 diff:計(jì)算差分 time:時(shí)間序列的采樣時(shí)間 window:時(shí)間窗
lm,glm,aov:線(xiàn)性模型、廣義線(xiàn)性模型、方差
Vectors 向量【當(dāng)你想用多個(gè)元素創(chuàng)建向量時(shí),你應(yīng)該使用 c() 函數(shù),這意味著將元素組合成一個(gè)向量?!?/p>
# c函數(shù)用來(lái)將元素組成為一個(gè)向量
v - c('a', 'b','c')
print(v)
# 輸出結(jié)果即為元素的值,可以看出,vector類(lèi)型里面只能有一種元素
print(class(v))
1
2
3
4
5
1
2
3
4
5
1] “a” “b” “c”
[1] “character”
那么問(wèn)題來(lái)了,假如我就是想什么東西都往向量里面塞呢,這種做法并不會(huì)引發(fā)報(bào)錯(cuò),但是R會(huì)暗中把那些亂七八糟的東西全部轉(zhuǎn)換為一種類(lèi)型。比如在下面這個(gè)例子,R就取了vector的第一個(gè)元素,將其轉(zhuǎn)換為了character類(lèi)型。
在這里插入圖片描述
Lists 列表【列表是一個(gè) R 對(duì)象,它可以在其中包含許多不同類(lèi)型的元素,如向量,函數(shù)甚至其中的另一個(gè)列表?!?/p>
# 列表里面就什么都可以塞
l - list(1,"666",c(2,3,4))
print(l)
print(class(l))
1
2
3
4
1
2
3
4
[[1]]
[1] 1
[[2]]
[1] “666”
[[3]]
[1] 2 3 4
[1] “l(fā)ist”
Matrices 矩陣【矩陣是二維矩形數(shù)據(jù)集。 它可以使用矩陣函數(shù)的向量輸入創(chuàng)建?!?/p>
# 第一個(gè)參數(shù)指的是矩陣中的元素內(nèi)容,第二三個(gè)參數(shù)指的是矩陣的行和列,最后一個(gè)參數(shù)指的是按行排列還是按列排列
M = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE)
print(M)
M = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = FALSE)
print(M)
print(class(M))
1
2
3
4
5
6
1
2
3
4
5
6
在這里插入圖片描述
Arrays 數(shù)組【雖然矩陣被限制為二維,但陣列可以具有任何數(shù)量的維度。 數(shù)組函數(shù)使用一個(gè) dim 屬性創(chuàng)建所需的維數(shù)?!?/p>
a - array(c(1,2,3,4),dim = c(3,3,2))
print(a)
print(class(a))
print(a[2,2,1])
1
2
3
4
1
2
3
4
在這里插入圖片描述
Factors 因子【因子是使用向量創(chuàng)建的 r 對(duì)象。 它將向量與向量中元素的不同值一起存儲(chǔ)為標(biāo)簽。 標(biāo)簽總是字符,不管它在輸入向量中是數(shù)字還是字符或布爾等。 它們?cè)诮y(tǒng)計(jì)建模中非常有用。】
color - c('green','green','yellow','red','red','red','green')
f - factor(color)
print(color)
print(f)
print(nlevels(f))
print(class(s))
1
2
3
4
5
6
1
2
3
4
5
6
在這里插入圖片描述
Data Frames 數(shù)據(jù)幀【數(shù)據(jù)幀是表格數(shù)據(jù)對(duì)象。 與數(shù)據(jù)幀中的矩陣不同,每列可以包含不同的數(shù)據(jù)模式。 第一列可以是數(shù)字,而第二列可以是字符,第三列可以是邏輯的。 它是等長(zhǎng)度的向量的列表?!?/p>
BMI - data.frame(
gender = c("Male", "Male","Female"),
height = c(152, 171.5, 165),
weight = c(81,93, 78),
Age = c(42,38,26)
)
print(BMI)
print(class(BMI))
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
在這里插入圖片描述
參考網(wǎng)址:w3c
打開(kāi)CSDN,閱讀體驗(yàn)更佳
R語(yǔ)言基礎(chǔ)之第六部分 分類(lèi)(史上最全含ddply、aggregate、split、b...
R語(yǔ)言基礎(chǔ)之第六部分 分類(lèi)(史上最全含ddply、aggregate、split、by) 數(shù)據(jù): 某市2014年-2018年空氣質(zhì)量指數(shù)日數(shù)據(jù),需要按年分類(lèi)計(jì)算每年 warm值為1和 0的均值。 數(shù)據(jù)長(zhǎng)這個(gè)樣子: 目標(biāo):求下列的均值 一、數(shù)據(jù)處理(提取年月) 首先需要...
R語(yǔ)言:數(shù)據(jù)類(lèi)型及屬性_woooooood的博客
R語(yǔ)言:數(shù)據(jù)類(lèi)型及屬性 1.數(shù)據(jù)類(lèi)型 R語(yǔ)言可以處理的數(shù)據(jù)類(lèi)型主要有6種:數(shù)值型、整數(shù)型、字符型、復(fù)數(shù)型、邏輯型和原生型 若輸入的數(shù)據(jù)為一個(gè)數(shù)字,則數(shù)據(jù)類(lèi)型為數(shù)值型(numeric),若想數(shù)據(jù)類(lèi)型為整數(shù)(integer),則需要在所賦值后加“L”...
二、數(shù)據(jù)集與數(shù)據(jù)類(lèi)型【R與統(tǒng)計(jì)】
引言 按照要求格式來(lái)創(chuàng)建含有研究信息的數(shù)據(jù)集是任何數(shù)據(jù)分析的第一步。在R中,這個(gè)任務(wù)包括以下兩步: ?選擇一種數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)數(shù)據(jù); ?將數(shù)據(jù)輸入或?qū)氲皆摂?shù)據(jù)結(jié)構(gòu)中 因此,本文將先敘述了R中用于存儲(chǔ)數(shù)據(jù)的多種結(jié)構(gòu),具體為向量、因子、矩陣、數(shù)據(jù)框以及列表的用法。熟悉這些數(shù)據(jù)結(jié)構(gòu)和訪(fǎng)問(wèn)其中元素的表述方法將十分有助于了解R的工作方式,便于后續(xù)的編程。 我將在下一篇博客介紹一些在R中導(dǎo)入數(shù)據(jù)的可行方法。手工輸入數(shù)據(jù)當(dāng)然可以,除此之外,我們也可以從外部源導(dǎo)入數(shù)據(jù)。數(shù)據(jù)源可以是文本文件、電子表格、統(tǒng)計(jì)軟件和各類(lèi)數(shù)據(jù)庫(kù)管
繼續(xù)訪(fǎng)問(wèn)
R語(yǔ)言中的數(shù)據(jù)集
R語(yǔ)言中的數(shù)據(jù)存儲(chǔ)形式主要有以下幾種方式 數(shù)組,向量,矩陣,數(shù)據(jù)框,列表 R語(yǔ)言中的可以處理的數(shù)據(jù)類(lèi)型有以下幾種方式 數(shù)值類(lèi)型,字符類(lèi)型,邏輯類(lèi)型,原聲類(lèi)型(二進(jìn)制類(lèi)型),復(fù)數(shù)類(lèi)型 數(shù)值類(lèi)型 包括 實(shí)例標(biāo)示,日期類(lèi)型 字符類(lèi)型 包括 標(biāo)稱(chēng)變量,序數(shù)變量 R語(yǔ)言針對(duì)不同的數(shù)據(jù)類(lèi)型處理的方式是不同的 一、向量(每一個(gè)向量中的元素都是相同的數(shù)據(jù)類(lèi)型) a b c
繼續(xù)訪(fǎng)問(wèn)
最新發(fā)布 R語(yǔ)言基礎(chǔ)數(shù)據(jù)類(lèi)型
R語(yǔ)言主要有三種基本的數(shù)據(jù)類(lèi)型,分別是數(shù)值型(Numeric)、整型(integer)以及字符型(character)。
繼續(xù)訪(fǎng)問(wèn)
R語(yǔ)言數(shù)據(jù)類(lèi)型基礎(chǔ)1 數(shù)值型、邏輯型與文本型
基礎(chǔ)的R語(yǔ)言數(shù)據(jù)類(lèi)型操作,包括了字符串、數(shù)值向量以及邏輯向量的一點(diǎn)簡(jiǎn)單介紹
繼續(xù)訪(fǎng)問(wèn)
R語(yǔ)言----對(duì)數(shù)據(jù)進(jìn)行分類(lèi)匯總(GROUP_BY使用)
library(dplyr) ###加載dplyr模塊 A-read.csv("f:\\TEST\\TDD.csv") ####加載數(shù)據(jù) D=data.frame(A) ##### A1-group_by(D,Date_ID) ####分組項(xiàng) A2-summarise(A1,cells=n(), ####統(tǒng)計(jì)個(gè)數(shù) RRC_ch...
繼續(xù)訪(fǎng)問(wèn)
R語(yǔ)言--R語(yǔ)言數(shù)據(jù)類(lèi)型(2)
一、矩陣與數(shù)組 創(chuàng)建 # 1.1 利用array函數(shù),創(chuàng)建二維數(shù)組m1,每一行記錄不同人(A,B,C)的各科成績(jī)(math,english,physics),成績(jī)請(qǐng)隨意輸入(要求每行至少有一個(gè)90分以上,每一列至少有一個(gè)60分以下) print('----1.1') m1 - array(c(95,40,80,55,92,98,86,93,55), dim = c(3,3), dimnames = list(c('A','B','C'),
繼續(xù)訪(fǎng)問(wèn)
R語(yǔ)言之對(duì)象和類(lèi)
理解什么是對(duì)象R是一種基于對(duì)象(object)的語(yǔ)言,所以我們?cè)赗語(yǔ)言中看到的一切事物都是對(duì)象,向量是對(duì)象,函數(shù)是對(duì)象,圖形是對(duì)象。簡(jiǎn)單說(shuō),我們可以把整個(gè)R看成是一個(gè)儲(chǔ)物室,它的內(nèi)容是由內(nèi)在不同的儲(chǔ)物盒(對(duì)象)組成, 每個(gè)盒子有不同屬性(attribute), 最重要的一種屬性是它的類(lèi)(class).查看、刪除ls:list的縮寫(xiě),我們要查看物品,所以要先列出目錄。
繼續(xù)訪(fǎng)問(wèn)
R語(yǔ)言中的類(lèi)和對(duì)象
#####類(lèi)和對(duì)象##### #之前學(xué)習(xí)的字符向量、數(shù)值向量、數(shù)據(jù)框、列表以及數(shù)組都是一個(gè)類(lèi)。 #用class函數(shù)定義類(lèi) teams-c("PHI","NYM","FLA","ATL","WSN") w-c(92,89,94,72,59) l-c(70,73,77,90,102) nleast-data.frame(teams,w,l) #定義teams類(lèi) class(teams) cla
繼續(xù)訪(fǎng)問(wèn)
R語(yǔ)言數(shù)據(jù)類(lèi)型
文章目錄基本概念向量字符串矩陣列表數(shù)組因子數(shù)據(jù)框 基本概念 R 語(yǔ)言中的最基本數(shù)據(jù)類(lèi)型主要有三種:數(shù)字,邏輯,文本 邏輯類(lèi)型在許多其他編程語(yǔ)言中常稱(chēng)為布爾型(Boolean),常量值只有 TRUE和FALSE。 注意:R 語(yǔ)言區(qū)分大小寫(xiě),true 或 True 不能代表 TRUE。 最直觀(guān)的數(shù)據(jù)類(lèi)型就是文本類(lèi)型。文本就是其它語(yǔ)言中常出現(xiàn)的字符串(String),常量用雙引號(hào)包含。 在 R語(yǔ)言中,文本常量既可以用單引號(hào)包含,也可以用雙引號(hào)包含,例如: 按對(duì)象類(lèi)型來(lái)分是以下6種:向量(vector),列表(
繼續(xù)訪(fǎng)問(wèn)
R語(yǔ)言分類(lèi)匯總
R語(yǔ)言分類(lèi)匯總 ##加載包 library(dplyr) ##函數(shù) group_by 制定數(shù)據(jù)集 data 中針對(duì) type 變量進(jìn)行分類(lèi)匯總 grou - group_by(data,type) ##summarise函數(shù)計(jì)算分類(lèi)結(jié)果——sd 標(biāo)準(zhǔn)差,還可計(jì)算其他類(lèi),分類(lèi)匯總 type_sd - summarise(grou ,sd(range ,na.rm = T)) dat...
繼續(xù)訪(fǎng)問(wèn)
熱門(mén)推薦 R語(yǔ)言:排序、篩選以及分類(lèi)匯總操作
在Excel中我們可以很方便的對(duì)數(shù)據(jù)進(jìn)行排序、篩選、分類(lèi)匯總等基本操作,R語(yǔ)言中沒(méi)有這種傻瓜式的一鍵操作,如何才能完成這種操作?一、排序1、單變量序列排序單變量序列的排序常用到rank、sort和order函數(shù)。給一個(gè)例子: a - c(3, 1, 5) rank(a) [1] 2 1 3 sort(a) [1] 1 3 5 order(a...
繼續(xù)訪(fǎng)問(wèn)
R語(yǔ)言 查看與轉(zhuǎn)換數(shù)據(jù)類(lèi)型
數(shù)據(jù)對(duì)象類(lèi)型 R語(yǔ)言的對(duì)象常見(jiàn)的數(shù)據(jù)類(lèi)型有:數(shù)值型、字符型、邏輯型、整數(shù)型、復(fù)數(shù)型等。此外,也可能是缺省值(NA) 數(shù)據(jù)對(duì)象類(lèi)型及其判別和轉(zhuǎn)化函數(shù) 類(lèi)型 中文釋義 示例 辨別 轉(zhuǎn)換 numeric 數(shù)值型 2、-3、4.5 is.numeric() as.numeric() character 字符型 “ZhangHenghua” is.character() as.chara...
繼續(xù)訪(fǎng)問(wèn)
R語(yǔ)言的數(shù)據(jù)類(lèi)型
一、數(shù)據(jù)類(lèi)型 概括來(lái)說(shuō),R可以識(shí)別六種基本的數(shù)據(jù)類(lèi)型,分別是,雙整型(double)、整型(integer)、字符型(character)、邏輯型(logical)、復(fù)數(shù)類(lèi)型(complex)以及原始類(lèi)型(raw). 1.雙整型(double) 儲(chǔ)存普通數(shù)值型數(shù)據(jù),可正可負(fù),可大可小,可含小數(shù)可不含 R中鍵入的任何一個(gè)數(shù)值都默認(rèn)以double型存儲(chǔ) 想知道某個(gè)對(duì)象是什么類(lèi)型,可以使用typeof() 函數(shù)進(jìn)行查看 在數(shù)據(jù)科學(xué)里,它更常被稱(chēng)為數(shù)值型(numeric) 2.整型(integer) 顧名思義,只能
繼續(xù)訪(fǎng)問(wèn)
R語(yǔ)言——數(shù)據(jù)類(lèi)型詳解
R語(yǔ)言——數(shù)據(jù)類(lèi)型詳解 R語(yǔ)言支持的數(shù)據(jù)類(lèi)型 數(shù)值型 整數(shù)型 邏輯型 字符型 復(fù)數(shù)型 原生型 R語(yǔ)言的數(shù)據(jù)對(duì)象類(lèi)型包括 向量:一個(gè)向量只能有一種數(shù)據(jù)類(lèi)型 矩陣:一個(gè)矩陣只能有一種數(shù)據(jù)類(lèi)型 數(shù)組:一個(gè)數(shù)組只能有一種數(shù)據(jù)類(lèi)型 數(shù)據(jù)框:不同的列允許不同的數(shù)據(jù)類(lèi)型 因子:一個(gè)因子只能有一種數(shù)據(jù)類(lèi)型 列表:允許不同的數(shù)據(jù)類(lèi)型 如上圖所示,標(biāo)量、向量、矩陣和數(shù)組可以按同一類(lèi)型來(lái)理解,這四種類(lèi)型要求對(duì)象包含的數(shù)據(jù)均為同一類(lèi)型,數(shù)組是多維度的一串?dāng)?shù)據(jù),向量是維度為1的數(shù)組,標(biāo)量是單元素的向量,矩陣是維度為2的數(shù)
繼續(xù)訪(fǎng)問(wèn)
R語(yǔ)言自用筆記:復(fù)數(shù)
介紹了R語(yǔ)言中虛數(shù)的表示、相關(guān)函數(shù)
繼續(xù)訪(fǎng)問(wèn)
[R語(yǔ)言]2. R語(yǔ)言中的數(shù)據(jù)類(lèi)型和數(shù)據(jù)結(jié)構(gòu)
R語(yǔ)言中數(shù)據(jù)類(lèi)型和數(shù)據(jù)結(jié)構(gòu)是兩種不同的概念,初學(xué)者經(jīng)常容易搞混,因此有必要對(duì)這兩個(gè)概念進(jìn)行詳細(xì)說(shuō)明。
繼續(xù)訪(fǎng)問(wèn)
R語(yǔ)言數(shù)據(jù)類(lèi)型:Logical、Numeric、Integer、Complex、Character、Vectors、Lists、Matrices、Arrays、Factors、DataFrames
R語(yǔ)言數(shù)據(jù)類(lèi)型:Logical、Numeric、Integer、Complex、Character、Vectors、Lists、Matrices、Arrays、Factors、DataFrames 通常,在使用任何編程語(yǔ)言進(jìn)行編程時(shí),都需要使用各種變量來(lái)存儲(chǔ)各種信息。變量只不過(guò)是用來(lái)存儲(chǔ)值的內(nèi)存位置或者區(qū)間。這意味著,當(dāng)我們創(chuàng)建一個(gè)變量時(shí),系統(tǒng)在內(nèi)存中保留了一些空間。 我們可能喜歡存儲(chǔ)各種數(shù)據(jù)類(lèi)型的信息,如字符、寬字符、整數(shù)、浮點(diǎn)、雙浮點(diǎn)、布爾等。根據(jù)變量的數(shù)據(jù)類(lèi)型,操作系統(tǒng)進(jìn)行內(nèi)存的分配并
繼續(xù)訪(fǎng)問(wèn)
R語(yǔ)言 常用數(shù)據(jù)類(lèi)型
一般來(lái)講,R語(yǔ)言中有三種數(shù)據(jù)結(jié)構(gòu),第一種是數(shù)組,第二種是列表,第三種是數(shù)據(jù)框。第一種: 數(shù)組(包括向量和矩陣)。數(shù)組可以用來(lái)儲(chǔ)存數(shù)值型(numeric)、邏輯型(logical)和字符型(character)三種類(lèi)型的數(shù)據(jù)。例如:儲(chǔ)存字符型數(shù)據(jù) x = array(rep("a",6),dim=c(2,3)) x [,1] [,2] [,3] [1,] "a" "a" "a"
1、向量是用于存儲(chǔ)數(shù)值型,字符型或者邏輯型數(shù)據(jù)的一維數(shù)組。執(zhí)行組合功能的函數(shù)為c(),可以用來(lái)創(chuàng)建向量。向量可根據(jù)位置進(jìn)行索引,需要用[]。
2、矩陣是一個(gè)二維數(shù)組,每個(gè)元素都擁有相同的模式,可通過(guò)函數(shù)matrix()創(chuàng)建矩陣。
3、數(shù)組是一個(gè)可以在兩個(gè)以上維度存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)對(duì)象。例如,如果創(chuàng)建尺寸(2,3,4)的數(shù)組,那么就是創(chuàng)建4個(gè)矩形矩陣每個(gè)2行3列。數(shù)組只能存儲(chǔ)數(shù)據(jù)類(lèi)型。
4、矩陣和數(shù)組一樣都只能包含一種數(shù)據(jù)類(lèi)型,當(dāng)有多種模式的數(shù)據(jù)時(shí),使用數(shù)據(jù)框就更為方便。數(shù)據(jù)框可以用函數(shù)data.frame () 創(chuàng)建。
5、$? 被用來(lái)選取一個(gè)給定數(shù)據(jù)框中的某個(gè)特定變量。
6、attach()綁定數(shù)據(jù)集,detach()解除數(shù)據(jù)集。
7、with:attach,detach最好在單獨(dú)的數(shù)據(jù)框內(nèi)使用,在多個(gè)同名對(duì)象最好不要使用,函數(shù)with(),可以再具有多個(gè)同名對(duì)象的數(shù)據(jù)框內(nèi)使用,但是必須加入花括號(hào){},這樣就無(wú)須擔(dān)心名稱(chēng)沖突了,但是它也有局限性,賦值僅在此函數(shù)的括號(hào)內(nèi)生效。
8、列表是一些對(duì)象的有序集合。
9,、數(shù)據(jù)導(dǎo)入?read.table(),其中header =?T,代表第一行為變量名稱(chēng),不作為數(shù)據(jù),header =?F相反。sep代表數(shù)據(jù)分隔符,txt為"\t",csv為","。
10、table函數(shù),用 table() 函數(shù)統(tǒng)計(jì)因子各水平的出現(xiàn)次數(shù)(稱(chēng)為頻數(shù)或頻率)。
sex =?c("女","女","女","男","男")
table(sex)
sex
男 女
2 3
求眾數(shù)
aim =?table(sex)[table(sex)==max(table(sex))]
aim
女
3
max(table(sex))
[1] 3
table(sex)==max(table(sex))
sex
男??? 女
FALSE?TRUE
11、 無(wú)尺度網(wǎng)絡(luò): 是指在某一復(fù)雜的 系統(tǒng) 中,大部分節(jié)點(diǎn)只有少數(shù)幾個(gè)連結(jié),而某些節(jié)點(diǎn)卻擁有與其他節(jié)點(diǎn)的大量連結(jié)。這些具有大量連結(jié)的節(jié)點(diǎn)稱(chēng)為“集散節(jié)點(diǎn)”,所擁有的連結(jié)可能高達(dá)數(shù)百、數(shù)千甚至數(shù)百萬(wàn)。這一特性說(shuō)明該網(wǎng)絡(luò)是無(wú)尺度的,因此,凡具有這一特性的網(wǎng)絡(luò)都是無(wú)尺度網(wǎng)絡(luò)。
12、options(stringsAsFactors = F)
#在調(diào)用as.data.frame的時(shí),將stringsAsFactors設(shè)置為FALSE可以避免character類(lèi)型自動(dòng)轉(zhuǎn)化為factor類(lèi)型。
13、class():查看數(shù)據(jù)結(jié)構(gòu):vector、matrix、array、dataframe、list。
14、str():作用用英語(yǔ)來(lái)表示是:check classification of viriables,一般用于檢查數(shù)據(jù)框當(dāng)中有哪些數(shù)據(jù)。
15、mode() :查看數(shù)據(jù)元素類(lèi)型。
16、typeof() :查看數(shù)據(jù)元素類(lèi)型,基本等同于mode(),比mode()更為詳細(xì)。
17、example():假設(shè)有一個(gè)函數(shù)foo,example("foo"),函數(shù)foo的使用示例。
18、apropos():列出名稱(chēng)中含有foo的所有可用函數(shù)。apropos("foo",mode="function")。
19、data():列出當(dāng)前已加載包中所含的所有可用示例數(shù)據(jù)集。
20、ls():列出當(dāng)前工作空間中的對(duì)象。
21、rm():移除(刪除)一個(gè)或多個(gè)對(duì)象。
22、history(#):顯示最近使用過(guò)的#個(gè)命令(默認(rèn)值為25)。
23、options():顯示或設(shè)置當(dāng)前選項(xiàng)。有一個(gè)收藏文件有介紹options的功能。
24、boxplot():生成盒型圖。
25、sum():計(jì)算和。sum(x,na.rm = TRUE)。
26、median():計(jì)算中位數(shù)。
27、cbind():以列結(jié)合變量。cbind(x,y,z)。
28、rbind():以行結(jié)合變量。
29、vector():以向量形式結(jié)合數(shù)據(jù)。vector(length = 10)。
30、rep():以矩陣形式結(jié)合數(shù)據(jù)。rep(c(1,,2,3),each = 10)
31、seq():生成一個(gè)有序的數(shù)列。seq(1,10)。
32、dim():矩陣或者cbind輸出的維數(shù)。dim(Mydata)。
33、scan():從ascii文件中讀取數(shù)據(jù)。scan(file = "test.txt")。
34、write.table():把一個(gè)變量寫(xiě)入到ascii文件。write.table(Z,file = "test.txt")。
35、order():確定數(shù)據(jù)的順序。order(x)。
36、merge():合并兩個(gè)數(shù)據(jù)框。merge(x,y,by = "ID")。
37、str():顯示一個(gè)對(duì)象的內(nèi)部結(jié)構(gòu)。str(Mydata)。
38、factor():定義變量作為因子。factor(x)。
39、tapply():tapply(X =?Veg$R,INDEX = Veg$Transect,FUN = mean).tapply函數(shù)根據(jù)第二個(gè)變量(Transect)的不同水平對(duì)第一變量(R)進(jìn)行了求平均值運(yùn)算。還可以求sd,var,length等操作。R語(yǔ)言初學(xué)者指南P75詳細(xì)介紹了這個(gè)函數(shù)。
40、下一頁(yè)介紹了sapply和lapply。
41、summary():計(jì)算基本信息。
42、table():計(jì)算列聯(lián)表,統(tǒng)計(jì)因子各水平的出現(xiàn)次數(shù)(頻數(shù)或頻率)。table(x,y)。
43、plot():y對(duì)x的圖形。pch形狀,col顏色。
44、par():par(mfrow = c(2,2),mar = c(3,3,2,1))
mfrow生成一個(gè)具有4個(gè)面板的圖形窗口。mar選項(xiàng)指定每個(gè)圖形周?chē)瞻椎拇笮?,底部、左?cè)、頂部、右側(cè)。
45、paste():將變量連接成字符串。paste("a","b",sep = "")。
46、log():?log = "x",log = "y",log = "xy",生成對(duì)數(shù)軸。
47、%in%:
a-c(1,3,13,1443,43,43,4,34,3,4,3)
b-c(1,13,11,1313,434,1)
a%in%b
# 返回內(nèi)容#?
[1] TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
# 取反操作
!(a%in%b)
48、sort()函數(shù)是對(duì)向量進(jìn)行從小到大的排序
rank()函數(shù)返回的是對(duì)向量中每個(gè)數(shù)值對(duì)應(yīng)的秩
order()函數(shù)返回的值表示位置,依次對(duì)應(yīng)的是向量的最小值、次小值、第三小值……最大值等(位置索引)
arrange()函數(shù)(需加載dplyr包)針對(duì)數(shù)據(jù)框,返回基于某列排序后的數(shù)據(jù)框,方便多重依據(jù)排序。
49、subset(): df - data.frame( a = 1:10, b = 2:11, c = 3:12 )
df - subset(df, select = c(a,c)) #選取列a和c
df - subset(df, select = -c(a,c) ) #去除列a和c
R軟件不只是一種統(tǒng)計(jì)工具,它還是一種語(yǔ)言,就語(yǔ)法形式而言跟S語(yǔ)言非常相識(shí)。所以類(lèi)似與數(shù)據(jù)庫(kù)一樣,在客戶(hù)端不是就只能調(diào)用一些函數(shù),而是可以用數(shù)據(jù)庫(kù)提供的SQL語(yǔ)言編寫(xiě)出擁有靈活多變,滿(mǎn)足各種需求的功能。R語(yǔ)言也一樣,可以在客戶(hù)端,用S語(yǔ)言編寫(xiě)程序,傳送到R軟件,R軟件計(jì)算完成后將結(jié)果在傳回C#。既然需要來(lái)回傳送,必然需要中間的橋梁,就像數(shù)據(jù)庫(kù)需要驅(qū)動(dòng)程序一樣,在C#中調(diào)用R軟件,需要安裝R(D)COM,R(D)COM是一種DCOM組件,可以注冊(cè)到Windows的組件服務(wù)中,供程序調(diào)用。如果用C#開(kāi)發(fā)Web程序,由于ASP.NET是用ASPNET這個(gè)用戶(hù)在執(zhí)行,而這個(gè)用戶(hù)的權(quán)限很低,所以如果要調(diào)用R(D)COM的服務(wù)的化,需要給ASPNET授予權(quán)限。所有具體的操作,使用方法,可以參考:/KB/cs/RtoCSharp.aspx
R語(yǔ)言數(shù)據(jù)結(jié)構(gòu)主要有以下四種:
向量:一串相同類(lèi)型的數(shù)據(jù),不限于數(shù)字,字符,邏輯都可以,單獨(dú)拿出來(lái)的一列。什么是看做一個(gè)整體,一個(gè)向量里有若干個(gè)數(shù)據(jù),它們組成一個(gè)整體之后,可以擁有一個(gè)共同的名字。
以下主要講向量:
向量就是一串?dāng)?shù)據(jù),串聯(lián)在一起,組成一個(gè)整體,向量由元素組成。
很長(zhǎng)的向量要么從數(shù)據(jù)框提取一列,或是有規(guī)律地生成,如連續(xù)的數(shù)據(jù):
paste0函數(shù)連接兩個(gè)向量,逗號(hào) , 前后各有一個(gè)向量,如字符型和數(shù)值型向量。
paste0和paste的區(qū)別是:
paste0函數(shù) 把兩個(gè)向量的元素一一對(duì)應(yīng)進(jìn)行 無(wú)縫 連接,而 paste函數(shù) 把兩個(gè)向量的元素一一對(duì)應(yīng)進(jìn)行 空格 連接。paste函數(shù)有默認(rèn)值為空格,在空格處把空格去掉sep=""引號(hào)里把默認(rèn)的空格去掉,即什么沒(méi)有,就變成無(wú)縫連接,也可以用其它的符號(hào)連接sep="/",sep="_"等。
數(shù)值型、字符型、邏輯型:只要有字符型在,用c()生成向量為字符型。只有邏輯型和數(shù)值型,用c()生成向量為數(shù)值型。
c()函數(shù)生成向量時(shí),要求為生成同一種數(shù)據(jù)類(lèi)型
注意的地方:
變量名 :c()為生成向量函數(shù),一般除字母c外,取單個(gè)字母或是單詞及縮寫(xiě),組成變量名的字母之間不要有空格,不能以數(shù)字為變量名或是以數(shù)字開(kāi)頭,變量名不能是中文名,特殊符號(hào)等。
- 與c()函數(shù)之間沒(méi)有空格。
- 的快捷鍵輸入:
mac電腦: option 和 - ;
windows電腦: Alt 和 -
= 在任何情況下可替代 - ,但是 = 除了賦值,還有其它用法,比如函數(shù)里參數(shù)用法。 - 不能在任意情況下代替 = 。
強(qiáng)大的計(jì)算是體現(xiàn)在批量計(jì)算上,先把一些數(shù)據(jù)組成一個(gè)整體,
還是以向量x為單位進(jìn)行
其中五個(gè)重要函數(shù),一定要掌握。
能用函數(shù)代替的東西,堅(jiān)決不用手和眼睛去數(shù),比如length()統(tǒng)計(jì)向量元素個(gè)數(shù)。
結(jié)論:unique(x)與x[!duplicated(x)]函數(shù)相同
用identical()可以判斷兩個(gè)函數(shù)是否相同(數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)類(lèi)型是否完全相同)
重點(diǎn)和難點(diǎn):
x==y :x和對(duì)應(yīng)位置的y相等嗎?(x和y里的元素,按順序一一對(duì)應(yīng)比較,講究位置對(duì)應(yīng),兩者里第一個(gè)元素相同就返TRUE,比較完兩個(gè)向量的第一位置上的元素,接著比較兩個(gè)向量第二個(gè)位置元素...到兩個(gè)向量最后)。
x和y不一樣長(zhǎng):理解“循環(huán)補(bǔ)齊”
結(jié)論: 如果x與y的向量元素長(zhǎng)度不相等,以長(zhǎng)度向量說(shuō)了算,不是由在==前的向量決定。
x%in%y :x的每個(gè)元素在y中存在嗎?(x的元素挨個(gè)到y(tǒng)里和所有元素比較,在y里有的相同的返回TRUE,不講究位置,有就是TRUE,沒(méi)有為FALSE)。比如y向量加了一個(gè)元素2,返回還是9個(gè)邏輯值,返回的邏輯值是與x一一對(duì)應(yīng),和y沒(méi)有關(guān)系。
加減乘除,兩個(gè)向量直接可以進(jìn)行,等位運(yùn)算。前提是兩個(gè)向量必須等長(zhǎng),即元素個(gè)數(shù)一樣。
用paste0或是paste連接兩個(gè)向量,兩個(gè)向量的長(zhǎng)度(元素個(gè)數(shù))不一致,循環(huán)補(bǔ)齊。
intersect(x,y),union(x,y),setdiff(x,y),setdiff(y,x),x與y順序顛倒(setdiff()與%in%有點(diǎn)兒相似)。
[] :取子集符號(hào),將TRUE對(duì)應(yīng)的值挑選出來(lái),F(xiàn)ALSE丟棄.
例:在13個(gè)數(shù)中,取出大于7的數(shù),首先把13個(gè)數(shù)值組成一個(gè)向量x,x7返回是邏輯值。
取值子集的對(duì)象放在中括號(hào)的外面,取子集的邏輯值向量放在中括號(hào)里面。
單獨(dú)運(yùn)行中括號(hào)里的向量,中括號(hào)里各種條件的返回結(jié)果有共同的規(guī)律,是一個(gè)與x等長(zhǎng)的邏輯值向量。
下標(biāo):代表在哪個(gè)位置上。
符號(hào) : []
按照邏輯值: 中括號(hào)里是與x等長(zhǎng)的邏輯值向量
按照位置: 中括號(hào)里是由x的下標(biāo)組成的向量(支持反選)
思考:從13個(gè)彩色(綠,藍(lán),黃)球中,選出屬于藍(lán)色和綠色的:
使用x %in% y還是x ==y,用x %in% y,不是等位循環(huán)補(bǔ)齊運(yùn)算,%in%比較靈活,可以在很多場(chǎng)景中使用,如3選2,50選2,50選20等。
13個(gè)球的顏色賦值給向量x,藍(lán)色和綠色賦值給y。
x %in% y
x[x %in% y]
修改向量的元素,修改x里的第四個(gè)元素
注意:R于語(yǔ)言里所有的修改,都要賦值,沒(méi)有賦值就是沒(méi)有發(fā)生過(guò)
把隨機(jī)函數(shù)生成的數(shù)永遠(yuǎn)為一組數(shù)據(jù):用隨機(jī)函數(shù)生成向量,后運(yùn)行set.seed(10086)
x[match(y,x)] 和 x[order(x)]
排序,如何調(diào)整元素順序
結(jié)論:sort(x)等于x[order(x)],背誦下來(lái)
兩個(gè)向量沒(méi)有做關(guān)聯(lián)的操作,可以用order函數(shù)排序?qū)?yīng)信息
向量匹配排序-match,match函數(shù)是連線(xiàn)用的
x[match(y,x)] 的以后用法:以y作為模版,給x調(diào)順序。
match:誰(shuí)在中括號(hào)外面,誰(shuí)就在后面, x[match(y,x)] ,以y作為模板,用x作為原料去取子集,按照一個(gè)順序取子集,取出來(lái)的子集和y一樣。
需要背誦的兩個(gè)用法: x[match(y,x)] 和 x[order(x)]
練習(xí)題:在以下x和y表格里如何將y的列名一對(duì)一替換為ID
切換Rproj的時(shí)候出現(xiàn)彈窗:是否將工作空間保存到 .Rdata ?
答案是:不保存,之前單獨(dú)保存好腳本和圖片,這里出現(xiàn)的提示是否臨時(shí)保存,不需要保存。
.Rdata ?是什么:
以 . 開(kāi)頭的文件,通常用作配置,系統(tǒng)默認(rèn)隱藏這類(lèi)文件
.Rdata 是保存工作空間的默認(rèn)文件
.History 是保存歷史命令的默認(rèn)文件
如果打開(kāi)Rstudio特別慢,可能是因?yàn)?.Rdata 保存了很大的變量,可以找到 .Rdata 文件將其刪除。
在Rproj右下角打開(kāi)腳本時(shí),編輯器腳本的中文注釋出現(xiàn)亂碼,解決如下:
以上內(nèi)容是聽(tīng) 生信技能樹(shù) 小潔老師的 R語(yǔ)言線(xiàn)上課 ,根據(jù)自己的理解記錄下來(lái),小潔老師授課非常細(xì)心,對(duì)不同水平的同學(xué)都照顧到,并且補(bǔ)充很多技巧以及注意事項(xiàng)。
之前學(xué)習(xí)過(guò)R語(yǔ)言,那時(shí)對(duì)向量認(rèn)識(shí)不夠深,也沒(méi)有重視,數(shù)據(jù)框的列單獨(dú)拿出來(lái)就是一個(gè)向量。認(rèn)真聽(tīng)小潔老師的講解以及最近跑幾個(gè)GEO數(shù)據(jù)集發(fā)現(xiàn)學(xué)會(huì)對(duì)向量的熟練操作以及熟練一些重要的函數(shù),在實(shí)戰(zhàn)過(guò)程中會(huì)順利些。
xlim可以用于plot函數(shù)作圖,它的意思是xlim = c(min, max)。就是說(shuō)縮放函數(shù)的x軸,范圍在min與max之間。
如題中xlim = c(0,30) 就是將圖像放至0到30間來(lái)看函數(shù)的圖像。
請(qǐng)問(wèn),您懂了嗎?