美文网首页
R语言杂谈(二)

R语言杂谈(二)

作者: 爱思考的照 | 来源:发表于2019-11-19 21:29 被阅读0次

1.向量中的元素获取 [,[[,$

1.1靠位置来获取元素

x<-seq(8,12) #产生8,9,10,11,12

x[4] #产生11

x[-4] #产生8,9,10,12

x[2:4] #产生9,10,11

x[-(2:4)] #产生8,12

x[c(1,5)] #产生8,12

1.2 靠逻辑获取数据

x[x==10]  #产生10,x==10产生F,F,T,F

x[x<12]  #产生8,9,10,11

x[x %in% c(9,13)]  #产生9

1.3 靠名称获取数据

names(x) <-c("a","b","c","d","e")

x["c"] #产生10

2. 矩阵中的元素获取

x<- seq(1:9)

m<- matrix(x, nrow=3, ncol=3)

colnames(m) <-c("a","b","c")

a b c

1 4 7

2 5 8

3 6 9

class(m) #输出为"matrix"

m[,1] 产生123 #[行,列]

m[2,3] 产生8 第二行第三列

3. data.frame 的元素获取

df <-data.frame(xz=1:3, y=c("a","b","c")) #产生的data.frame如下

xz y

1 a

2 b

3 c

df[1] #返回的是第一列xz123

class(df[1]) #返回的还是data.frame

df[[1]] #返回的是123,会破坏数据框的结构

class(df[[1]]) #返回的是"integer"

df$xz #返回的是123,df$列名,这里class后是integer,$会不完全匹配,如df$x返回的也是123

subset函数也能起到这样的作用,subset(df, subset=xz>1, select=y) #返回的是bc,subset(数据,行,列)

数据框是特殊的列表,矩阵是特殊的数据框,构成的元素是向量

4.字符串的元素获取

4.1截取字符串

substr(x, start, stop)

substring(x,first, last)

举个例子,test<-"I LOVE YOU"

substr(test,3,6) #返回的是"LOVE"

substring(test,3) #返回的是"LOVE YOU"

4.2 拆分字符串

strsplit(x, split, extended=TRUE, fixed=FALSE, perl=FALSE)

unlist(strsplit("a.b.c", "\\.") )#返回的是 "a" "b" "c",因为.本身代表了所有元字符(也就是所有字符),因此需要\\.表示.而不是任意字符,否则会切割所有字符而不是.

4.3 连接字符串

paste(..., sep="", collapse=NULL)

paste("a","b","c", sep=".") #返回的是"a.b.c"

paste("A",1:6, sep=") #返回的是"A1""A2""A3""A4""A5""A6",这里的"表示去除A与数字间的间隙

paste("A", 1:6,sep="-") #返回的是"A-1"到"A-6"

paste("A", 1:6, sep="-", collapse="=") #返回的是"A-1=A-2=A-3=A-4=A-5=A-6"

paste0("A","B","C") #返回的是"ABC"

4.4 字符串计数

nchar(test) #返回的是该字符串中有多少字符,10

相关文章

网友评论

      本文标题:R语言杂谈(二)

      本文链接:https://www.haomeiwen.com/subject/oteaictx.html