首页 > 编程语言 > 详细

R语言--简单的数据管理和字符串操作

时间:2019-06-18 18:53:32      阅读:116      评论:0      收藏:0      [点我收藏+]
#chapter5 ####
rm(list = ls())
round(333333.141592653,digits = -5) # 
x<-rnorm(1:9)
x
round(x,digits = 2)


abs(-0.2)
sqrt(c(64,81))   #开平方
ceiling(pi)    #上限(天花板)
pi
floor(pi)    #对应ceiling
trunc(5.99) #truncate ,从整数部分截断
signif(pi,digits = 2)  #两位有效数字
round(pi,digits = 2)
cos(60)
cos(0)
sin(30)
(sqrt(2))/2
tan(90)
acos(1)
asin()
atan()
log(1,base = 10)
log(1000,base = 10)
log10(1000)
log(x) # = log(x,base=e)
exp(2)  #2.718282^2
2.718282^2

exp(c(1,1,2))#     exp(c(1,1,2))           important
sqrt(c(4,9,16))
x <- c(1:10,rep(20,10),rep(1,10))
z<-mean(x,trim = 0.2,na.rm = TRUE);z  
#trim,去掉了最大/小的20%的数,30*20%=6,去掉6个20,6个1,(55+4*20+4*1)/18=7.7222
x=0
for (i in 1:10) {
  x=x+i
  print(x)
}
median(x)
sd(x)
?var(x)
y<-quantile(x,c(.25,.75))   #取百分之25和75位数
y
range(x)  
diff(range(x))  
sum(x)
sum(c(1,2,3,4,5))
x
diff(x,lag = 6) # 第七个数减去第一个数

x
min(x)
max(x)
#list5-1####

x<-c(1:8)

mean(x)
sd(x)


n<-length(x)
meanx<-sum(x)/n
meanx

css<-sum((x-meanx)^2)   
sd<-sqrt(css/(n-1))
sd

mydata<-c(1,1,1,2,2,3,2,2,1,1,1)
newdata<-scale(mydata)*3+0.1  #normalization  *sd + mean
newdata<-scale(mydata);newdata
mean(newdata)
sd(newdata)

x<-pretty(c(-3,3),20) ;x  #pretty  from-3 to 3 ,平均分成30份
y<-dnorm(x);y #表示在该正态分布下,x对应的曲线的函数值  可用于作图
plot(x,y,type = "l",xlab = "Normal Deviate",ylab = "Density",yaxs="i")
plot(x,y,type = "l",xlab = "Normal Deviate",ylab = "Density")
pnorm(1.96)
pnorm(q = 3.84,mean = 0,sd = 1)  #probability 该正态分布下,x为3.84时曲线下右侧的面积
qnorm(.75,mean = 500,sd = 100)  #quantity  该正态分布下,曲线下右侧面积为0.75时X的值

x<-rnorm(50,mean = 80,sd = 20);x   #生成50个,均数80,sd20的正态分布的样本
#list 5-2
runif(5, min = -1, max = 1)  ## sample  random number
runif(5)
runif(5)
runif(5)
set.seed(1234)
runif(5)
set.seed(1234)
runif(5)


#list 5-3####
install.packages("MASS")
library(MASS)
options(digits = 4)  ##
set.seed(1234)

mean<-c(230.7,146.7,3.6)
sigma<-matrix(c(15360.8,6721.2,-47.1,
                6721.2,4700.9,-16.5,
                -47.1,-16.5,0.3),nrow = 3,ncol = 3)
sigma

mydata<-mvrnorm(500,mean,sigma);mydata  #generate multivariate normal sequence assigned mean and covariance matrix 
mydata<-as.data.frame(mydata)
names(mydata)<-c("y","x1","x2")

dim(mydata)
head(mydata)
head(mydata, 10)
mean(mydata$y)

#5.2.4 handle character string ####
x<-c("ab","aacde","fghqaij")
length(x)
nchar(x[3])  #number of character
nchar(x)

substr(x[3],5,6)<-"35" # R object start stop  substitute
x
x <- c(‘abadfa‘)
substr(x,1,5) <- "nnnnnxn"
substr(x,1,5) <- "nnnnxxn"
x
x <- c("The Great Well")
x <- chartr("[A-Z]","[a-z]",x);x
x <- chartr("we","wa",x);x # w-w,e-a
x <- chartr(‘a‘,‘ ‘,x);x
x <- gsub(‘a‘,‘‘,x);x
x <- gsub("Th","",x);x

##!!!!!!!!!!!!
aa<-grep(pattern,x,ignore.case = FALSE,fixed = FALSE)   #其中pattern是regular expression
grep(pattern,x,ignore.case = FALSE,fixed = TRUE)                         #正则表达式
pattern<-"[a]"
sub(pattern = "[a]","@",x,ignore.case = FALSE,fixed = FALSE)  #substitute
sub("[^aa]","@",x,ignore.case = FALSE,fixed = FALSE)    #fixed= FALSE,pattern is regular expression,
#or is character string.txt
x <- c(a="2018Dj12TB17HU",b="2017Dj12TB17HU")
x <- read.table("clipboard") 
v1 <-as.character(x$V1)
y <- strsplit(v1,"Dj")   
strsplit("a.b.c",".") # .在reg exp中表示任意字符,所以想表示. 用[.]
strsplit("a.b.c","[.]")
strsplit("a.b.c",".",fixed = T)

simpleCap <- function(x) {
  s <- strsplit(x, " ")[[2]]
  paste(toupper(substring(s, 1, 1)), substring(s, 2),
        sep = "", collapse = " ")
}         

# paste 默认增加一个space在字符之间,paste0相当于paete(...,sep=‘‘)
paste0(1:3,c(‘a‘,‘a‘,‘a‘))
paste(1:12)
as.character(1:12)
paste("ID",1:5,sep = "/",collapse = "!")  #collapse表示用什么断开字符串
paste("ID",1:5,sep = "/")
nth <- paste0(1:12, c("st", "nd", "rd", rep("th", 9)));nth #replicate("sth.",times)
nth <- paste(1:12, c("st", "nd", "rd", rep("th", 9)),sep = ‘‘,collapse = ‘ ‘);nth
paste(month.abb, "is the", nth, "month of the year.")  
paste("today is","a good day")
paste("today is","good day",sep = " a ")

toupper("today")
tolower("Today")

install.packages("Himsc")
library(‘Himsc‘)
y<-"ajfhajnac"
capitalize(y)
capitalize(c("Hello", "bob", "daN")) #单独大写initial

x<-c(1,2,3,4)
length(x)
seq(1,10,2) # from,to,by
rep(1:3,6) #rep(x,n)
cut(x,3) 
cut(x,3,ordered_result = TRUE) 
pretty(1:3,10) 


name<-"Bob"
cat("Hello","bob","\b.\n","Isn\‘t R","\t","GREAT?\n")
cat("Hello",name,".\n","Isn\‘t R","\b","GREAT?")
?Quotes


#5-4
a<-5
sqrt(a)
b<-c(1.23,4.4,81.5323)
round(b)
set.seed(23)
c<-matrix(runif(12),nrow = 3)
c
mean(c)

x<-matrix(rnorm(30),nrow = 5)
x
apply(x,1,mean) #1 indicates rows,2 columns
apply(x,2,mean)
apply(x,2,mean,trim = 0.2) 

  

R语言--简单的数据管理和字符串操作

原文:https://www.cnblogs.com/super-yb/p/11046601.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!