京公网安备 11010802034615号
经营许可证编号:京B2-20210330
R语言-向量构造及函数构造
1,生成向量的方法
(1) seq()函数
[ruby] view plain copy
> x=seq(from=1, to=5, by=0.5)
> x
# [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0

(2)rep()函数
[ruby] view plain copy
> x=rep(pi, times=5)
> x
# [1] 3.141593 3.141593 3.141593 3.141593 3.141593
(3)seq 与 rep 结合使用
[ruby] view plain copy
> x=rep(seq(from=1,to=5,by=1), times=5)
> x
# [1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
(4)自主建立向量
[ruby] view plain copy
> x=c(rep(seq(from=1,to=5,by=1), times=2),pi,17,24)
> x
# [1] 1.000000 2.000000 3.000000 4.000000 5.000000 1.000000 2.000000 3.000000
# [9] 4.000000 5.000000 3.141593 17.000000 24.000000
2,选择向量元素
(1)x[ i ] 形式,i表示下标位
[ruby] view plain copy
> x
# [1] 1.000000 2.000000 3.000000 4.000000 5.000000 1.000000 2.000000 3.000000
# [9] 4.000000 5.000000 3.141593 17.000000 24.000000
> x[11]
# [1] 3.141593
(2)x[ m: n] 形式,选择一段元素
[ruby] view plain copy
> x[c(11:13)]
# [1] 3.141593 17.000000 24.000000
> x[seq(from=11,to=13,b=1)] #用了seq函数
# [1] 3.141593 17.000000 24.000000
(3)使用逻辑向量从数据向量中选择元素
[ruby] view plain copy
> x>3 # 逻辑判断x的各元素
# [1] FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE
> x[x>3] #选择TRUE的位置的元素
# [1] 4.000000 5.000000 4.000000 5.000000 3.141593 17.000000 24.000000
> x%%2==0 #选择奇数
# [1] FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE TRUE
> x[x%%2==1]
# [1] 1 3 5 1 3 5 17
(4)自定义行名,取数
[ruby] view plain copy
> year=c(1983,1982,1988,1990)
> names(year)=c('A','B','C','D')
> year
# A B C D
# 1983 1982 1988 1990
> year[c('A','D')]
# A D
# 1983 1990
3,函数编写
(1)if选择函数
[ruby] view plain copy
fun.test <- function(a, b, method = "add"){ ## function关键字,fun.test函数名
if(method == "add"){ ## 如果if或者for/while等后面的语句只有一行,则无需使用花括号
res <- a + b
}
if(method == "subtract"){
res <- a - b
}
return(res) ## 返回值
}
[ruby] view plain copy
> ### 检验结果
> fun.test(a = 10, b = 8, method = "add")
# [1] 18
> ### 检验结果
> fun.test(a = 10, b = 8, method = "subtract")
# [1] 2
(2)for循环函数
[ruby] view plain copy
### for循环与算法
test.sum <- function(x)
{
res <- 0 ## 设置初始值,在第一次循环的时候使用
for(i in 1:length(x)){
res <- res + x[i] ## 这部分是算法的核心,总是从右面开始计算,结果存到左边的对象
}
return(res)
}
### 检验函数
a <- c(1,2,1,6,1,8,9,8)
test.sum(a)
sum(a)
(3)return函数
[ruby] view plain copy
## 计算标准差
sd2 <- function(x)
{
# 异常处理,当输入的数据不是数值类型时报错
if(!is.numeric(x)){
stop("the input data must be numeric!\n")
}
# 异常处理,当仅输入一个数据的时候,告知不能计算标准差
if(length(x) == 1){
stop("can not compute sd for one number,
a numeric vector required.\n")
}
## 初始化一个临时向量,保存循环的结果,
## 求每个值与平均值的平方
x2 <- c()
## 求该向量的平均值
meanx <- mean(x)
## 循环
for(i in 1:length(x)){
xn <- x[i] - meanx
x2[i] <- xn^2
}
## 求总平方和
sum2 <- sum(x2)
# 计算标准差
sd <- sqrt(sum2/(length(x)-1))
# 返回值
return(sd)
}
## 程序的检验
## 正常的情况
sd2(c(2,6,4,9,12))
## 一个数值的情况
sd2(3)
## 输入数据不为数值类型时
sd2(c("1", "2"))
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
CDA数据分析师 出品 作者:李诗怡 STP模型(营销战略三步法) 定义: 现代营销战略核心框架,通过市场细分(S)、目标市场选择( ...
2026-09-18在互联网产品迭代、运营优化、界面改版与策略升级过程中,主观经验判断容易造成决策偏差、盲目改版、资源浪费等问题。AB实验(AB ...
2026-09-18 很多企业并不缺少指标,缺少的是让指标“串起来、动起来、用起来”的体系。零散指标像散落一地的珠子,指标体系则是那根把珠 ...
2026-09-18在电商行业精细化运营时代,流量红利逐步消退,粗放式投流、广撒网营销模式已无法适配市场竞争需求。依托用户点击、加购、收藏、 ...
2026-09-17在数据可视化与数据分析工作中,图表是将零散数据转化为直观业务规律的核心工具。不同图表拥有专属的数据逻辑与分析维度,能够从 ...
2026-09-17 很多数据分析师每天盯着GMV、DAU、转化率,但当被问到“哪些指标在所有行业都适用”“哪些指标只对电商有意义”“二者如何搭 ...
2026-09-17在企业数字化运营、业务流程管理与精细化管控体系中,流程运营是串联各项业务环节、保障工作落地、提升运转效率的核心载体。无论 ...
2026-09-16在数据分析与统计学研究中,卡方检验是分析分类变量关联性与差异性的重要方法,广泛应用于市场调研、行为统计、社会调查、商业数 ...
2026-09-16 很多数据分析师每天盯着GMV、DAU、转化率,但当被问到“什么是指标”“指标和维度有什么区别”“如何定义指标值的计算规则和 ...
2026-09-16CDA数据分析师 出品 作者:李诗怡 定义: 用户增长核心分析框架,刻画用户从接触产品到自发推荐的全生命周期,五个递进环节构建 ...
2026-09-15在数字化营销与精细化用户运营时代,企业传统的广撒网式营销模式成本高、转化率低,已无法适配精准商业竞争需求。客户画像作为大 ...
2026-09-15 很多数据分析师精通描述性统计,能熟练计算均值、中位数、标准差,但当被问到“用500个样本如何推断10万用户的真实满意度” ...
2026-09-15在MySQL数据库数据查询与数据分析中,GROUP BY与ORDER BY是使用频率极高的核心关键字。二者语法结构相似,常搭配使用,但核心功 ...
2026-09-14随着数字化治理、智慧运营、数字孪生技术的普及,数字体征成为衡量业务状态、系统运行、城市治理与企业经营健康度的核心体系。数 ...
2026-09-14 很多数据分析师沉迷于复杂的模型和算法,却忽略了数据分析的一项基础能力——描述性统计。事实上,大量商业分析问题,用描述 ...
2026-09-14在MySQL数据库运维与开发实践中,经常出现一种典型现象:数据库实际存储的数据量很小,数据表条数少、文件体积低,但服务器整体 ...
2026-09-11 很多数据分析师能熟练计算均值、标准差,但当被问到“总体和样本有什么区别”“参数和统计量有什么关系”“数据级别的高低如 ...
2026-09-11CDA数据分析师 出品 作者:李诗怡 定义: 将同一时间段内因具备相同属性或共同经历的用户划分为群体,分析其留存与生命周期价值 ...
2026-09-11在零售、商超、餐饮、线下门店等实体商业运营中,客流与销售额是衡量门店经营状态的两大核心指标。销售额是门店经营的最终结果, ...
2026-09-10在数据可视化体系中,柱形图是最基础、应用最广泛的图表类型,其中**累计柱形图(堆积柱状图)**是兼顾整体总量与内部结构的核心 ...
2026-09-10