# R高级数据管理--字符处理函数、将函数应用于矩阵和数据框
# 1.字符处理函数
nchar("abcde") # 统计字符串中有多少个字符
# [1] 5
substr("sbcde",3,5) #提取字符串的3-5位之间的字符
# [1] "cde
grep("a",c("a","b","a","c","d"))
# [1] 1 3
sub("a","A","abcde") #将字符串中的a替换成A
# [1] "Abcde"
strsplit("abcde","c") #将字符串按c处分开
# [1] "ab" "de"
strsplit("abcde","")
# [1] "a" "b" "c" "d" "e"
paste("today is","Friday") #字符串连接
# [1] "today is Friday"
tolower("ABC") #转成小写
# [1] "abc"
toupper("abc") #转成大写
# [1] "ABC"
length(c(1,2,4,5,6)) #获取矩阵或向量的长度
# [1] 5
seq(1,10,2) #生成1-10,步长为2的序列
[1] 1 3 5 7 9
rep(1:3,3) #1-3,重复3次
# [1] 1 2 3 1 2 3 1 2 3
cat("hello world!!!") #类似于print
# hello world!!!
# 2.将函数应用于矩阵和数据框
a <- c(1.234,1.678,2.543)
round(a) #对a中所有的数求四舍五入
# [1] 1 2 3
b <- matrix(runif(12),nrow=3)
b
# [,1] [,2] [,3] [,4]
# [1,] 0.04345485 0.5749941 0.4204000 0.9539272
# [2,] 0.50748858 0.5400956 0.4217665 0.4712080
# [3,] 0.28650249 0.9247745 0.8238913 0.1905289
log(b) #对矩阵所有元素求log
# [,1] [,2] [,3] [,4]
# [1,] -3.1360328 -0.55339553 -0.8665487 -0.04716796
# [2,] -0.6782811 -0.61600905 -0.8633033 -0.75245573
# [3,] -1.2500081 -0.07820536 -0.1937167 -1.65795123
mean(b) #对矩阵所有元素求平均值
# [1] 0.5132527
c <- matrix(rnorm(30),nrow = 6)
c
# [,1] [,2] [,3] [,4] [,5]
# [1,] -0.6501949 -0.89739605 1.99574607 0.384423329 1.2528025
# [2,] 0.3865652 1.49726737 0.63266776 -1.548149713 -0.5786747
# [3,] 0.5802488 -0.90131192 -0.67054470 -0.428444575 1.6355518
# [4,] 1.3630756 -0.01132494 -0.15740180 -1.963780832 0.7413926
# [5,] 0.9218933 -0.75088321 0.01735306 0.000756973 -1.1536519
# [6,] -0.6184186 0.50697212 1.03090965 -0.169265735 2.2540568
apply(c,1,mean) #对c这个矩阵,按行,求平均值
# [1] 0.417076191 0.077935171 0.043099881 -0.005607879 -0.192906354 0.600850842
apply(c, 2, mean) #对c这个矩阵,按列,求平均值
# [1] 0.33052823 -0.09277944 0.47478834 -0.62074343 0.69191284
#lapply sapply 可以用于列表
网友评论