京公网安备 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
在日常办公数据分析中,我们经常会面对杂乱无章的批量数据——比如员工月度绩效、产品销售数据、客户消费金额、月度运营指标等。 ...
2026-02-05在分类模型(如风控反欺诈、医疗疾病诊断、客户流失预警)的实操落地中,ROC曲线是评估模型区分能力的核心工具,而阈值则是连接 ...
2026-02-05对CDA(Certified Data Analyst)数据分析师而言,数据分析的价值不仅在于挖掘数据背后的规律与洞察,更在于通过专业的报告呈现 ...
2026-02-05在数据分析实战中,我们经常会遇到“多指标冗余”的问题——比如分析企业经营状况时,需同时关注营收、利润、负债率、周转率等十 ...
2026-02-04在数据分析场景中,基准比是衡量指标表现、评估业务成效、对比个体/群体差异的核心工具,广泛应用于绩效评估、业务监控、竞品对 ...
2026-02-04业务数据分析是企业日常运营的核心支撑,其核心价值在于将零散的业务数据转化为可落地的业务洞察,破解运营痛点、优化业务流程、 ...
2026-02-04在信贷业务中,违约率是衡量信贷资产质量、把控信用风险、制定风控策略的核心指标,其统计分布特征直接决定了风险定价的合理性、 ...
2026-02-03在数字化业务迭代中,AB测试已成为验证产品优化、策略调整、运营活动效果的核心工具。但多数业务场景中,单纯的“AB组差异对比” ...
2026-02-03企业战略决策的科学性,决定了其长远发展的格局与竞争力。战略分析方法作为一套系统化、专业化的思维工具,为企业研判行业趋势、 ...
2026-02-03在统计调查与数据分析中,抽样方法分为简单随机抽样与复杂抽样两大类。简单随机抽样因样本均匀、计算简便,是基础的抽样方式,但 ...
2026-02-02在数据驱动企业发展的今天,“数据分析”已成为企业经营决策的核心支撑,但实践中,战略数据分析与业务数据分析两个概念常被混淆 ...
2026-02-02在数据驱动企业发展的今天,“数据分析”已成为企业经营决策的核心支撑,但实践中,战略数据分析与业务数据分析两个概念常被混淆 ...
2026-02-02B+树作为数据库索引的核心数据结构,其高效的查询、插入、删除性能,离不开节点间指针的合理设计。在日常学习和数据库开发中,很 ...
2026-01-30在数据库开发中,UUID(通用唯一识别码)是生成唯一主键、唯一标识的常用方式,其标准格式包含4个短横线(如550e8400-e29b-41d4- ...
2026-01-30商业数据分析的价值落地,离不开标准化、系统化的总体流程作为支撑;而CDA(Certified Data Analyst)数据分析师,作为经过系统 ...
2026-01-30在数据分析、质量控制、科研实验等场景中,数据波动性(离散程度)的精准衡量是判断数据可靠性、稳定性的核心环节。标准差(Stan ...
2026-01-29在数据分析、质量检测、科研实验等领域,判断数据间是否存在本质差异是核心需求,而t检验、F检验是实现这一目标的经典统计方法。 ...
2026-01-29统计制图(数据可视化)是数据分析的核心呈现载体,它将抽象的数据转化为直观的图表、图形,让数据规律、业务差异与潜在问题一目 ...
2026-01-29箱线图(Box Plot)作为数据分布可视化的核心工具,能清晰呈现数据的中位数、四分位数、异常值等关键统计特征,广泛应用于数据分 ...
2026-01-28在回归分析、机器学习建模等数据分析场景中,多重共线性是高频数据问题——当多个自变量间存在较强的线性关联时,会导致模型系数 ...
2026-01-28