R • exercises

发布时间:2026/9/14 19:45:09

R • exercises catalogue题目1变量赋值和基本运算题目2向量创建和元素访问题目3使用内置函数计算统计量题目4混合运算与优先级理解题目5模运算与整数除法题目6类型转换与比较运算题目7因子Factor的创建与理解题目8逻辑Logical向量与索引提取题目9列表List的创建与元素访问题目10基础if-else判断数字性质判断题目11嵌套if与逻辑运算符成绩等级评定题目12ifelse()向量化函数解惑题目13基础for循环数列求和题目14while循环与条件控制斐波那契数列题目15循环控制与next语句特定倍数查找题目1变量赋值和基本运算num-10square-num**2cube-num**3print(paste(平方为,square,立方为,cube))#用print()将字符串和变量值同时输出要结合paste()cat(平方为,square,立方为,cube,\n)题目2向量创建和元素访问vec-c(5,10,15,20,25)cat(第三个元素为,vec[3])cat(向量长度为,length(vec))题目3使用内置函数计算统计量data-c(12,15,18,21,24)cat(平均值为,mean(data),总和为,sum(data),标准差为,sd(data))题目4混合运算与优先级理解result1-34*5result2-(34)*5print(paste(3 4 * 5 ,result1, ,(3 4) * 5 ,result2))题目5模运算与整数除法days-365weeks-days%/%7remaining_days-days%%7cat(365天是,weeks,个星期零,remaining_days,天)题目6类型转换与比较运算num_var-123char_var-123converted_var-as.numeric(char_var)cat(num_var与converted_var的值是否相等,num_varconverted_var)#只比较值cat(num_var与char_var的值是否相等,num_varchar_var)cat(num_var的类型为,class(num_var))cat(char_var的类型为,class(char_var))cat(converted_var的类型为,class(converted_var))cat(num_var与converted_var是否相等,identical(num_var,converted_var))#identical()比较值、类型cat(num_var与char_var是否相等,identical(num_var,char_var))题目7因子Factor的创建与理解将unclass()的结果单独打印这样能更清晰地显示整数向量。对于向量结果使用print()比cat()更能保持原始格式。weather-c(Sunny,Cloudy,Rainy,Sunny,Rainy)weather_factor-factor(weather,levelsc(Rainy,Cloudy,Sunny))print(weather_factor)print(因子的内部数值表示)print(unclass(weahter_factor))print(因子的水平)print(levels(weahter_factor))#print(paste(因子的内部数值表示,unclass(weather_factor)))#cat(因子的水平,levels(weather_factor))题目8逻辑Logical向量与索引提取scores-c(85,92,78,60,95,53)pass_logical-scores60print(pass_logical)print(scores[pass_logical])题目9列表List的创建与元素访问my_list-list(c(1,2,3),Hello World,TRUE)print(my_list[[2]])#提取元素本身print(class(my_list[[2]]))print(my_list[2])#提取子列表print(class(my_list[2]))names(my_list)-c(numbers,greeting,flag)print(my_list$greeting)题目10基础if-else判断数字性质判断user_input-readline(请输入一个数字)#获取输入num-suppressWarnings(as.numeric(user_input))#使其不报错如果转换错误则num为NULLif(is.na(num)){#处理非数字输入的情况cat(错误您输入的不是有效的数字\n)}else{#处理正确输入的情况if(num0){cat(正数\n)}elseif(num0){cat(负数\n)}else{cat(零\n)}}题目11嵌套if与逻辑运算符成绩等级评定user_input-readline(请输入成绩)num-suppressWarnings(as.numeric(user_input))if(is.na(num)){cat(user_input,不是有效数字\n)}else{if(num100|num0)cat(Invalid Score)elseif(num90)cat(Excellent)elseif(num80)cat(Good)elseif(num70)cat(Average)elseif(num60)cat(Pass)elsecat(Fail)}题目12ifelse()向量化函数# 1. 创建数值向量x-c(-2,5,0,12,-5,9,100)# 2. 使用ifelse()函数进行向量化判断result_vec-ifelse(x0,Positive,Non-Positive)# 3. 打印结果print(result_vec)# 4. 使用传统的for循环和if-else语句实现同样功能result_loop-character(length(x))# 创建空字符向量存储结果for(iin1:length(x)){if(x[i]0){result_loop[i]-Positive}else{result_loop[i]-Non-Positive}}# 打印循环实现的结果print(result_loop)# 验证两种方法结果是否一致identical(result_vec,result_loop)解惑为什么空字符向量用result_loop - character(length(x))而不是result_loop - c()因为result_loop - character(length(x))提前分配好了存储结果的内存空间而result_loop - c()每次循环时都会重新分配内存当数据量大时会严重影响性能这就是为什么在传统for循环中通常需要预先初始化结果向量的原因。题目13基础for循环数列求和numbers-c(2,5,8,11,14)sum_of_squares-0for(iinnumbers){#i用num更好看sum_of_squares-sum_of_squaresi^2}cat(数列平方和为,sum_of_squares)#使用cat打印print应为print(paste())题目14while循环与条件控制斐波那契数列prev-1# 上一个curr-1# 当前fib_seq-c(prev,curr)while(TRUE){next_val-prevcurr# 下一个if(next_val100)breakfib_seq-c(fib_seq,next_val)# 符合要求的放这prev-curr# 把上一个更新为curr因为有了新的“下一个”curr-next_val# 把前“下一个”更新为curr因为有了新的“下一个”}cat(斐波那契数列为,fib_seq,\n)题目15循环控制与next语句特定倍数查找is_prime-function(n){if(n1){# 小于等于1的不是质数return(FALSE)}elseif(n2){# 2是最小的质数return(TRUE)}elseif(n3){# 3在下面循环里会被误判为非质数,不能用||把3和前面的2放一起因为这样只会打印2return(TRUE)}elseif(n%%20){return(FALSE)}# 偶数除了2不是质数for(iinseq(3,floor(sqrt(n)),by2)){# 检查从3到sqrt(n)的奇数避免重复检查因为2是唯一的偶质数且奇数的因数只能是奇数if(n%%i0){return(FALSE)# 质数不能被其它数整除}}return(TRUE)# 不能放在for (i in seq(3, floor(sqrt(n)), by2))的else里因为可能有很多不整除导致提前退出循环但只要有一个整除就不要了}for(iin1:50){if(i%%150){# 放前面扔掉不要的再对剩下的判断cat(跳过15的倍数,i,\n)next# 跳出这次循环进入下一次循环}if(i%%30i%%5!0){if(is_prime(i))# 2是质数但2根本进不了if所以不打印 is_prime是个判断质数的通用函数cat(i,*\n,sep)# 质数加星号sep避免星号和质数间的空格elsecat(i,\n)# 不是质数直接打}}
延伸阅读

更多相关文章

2026/9/13 8:54:24

WzComparerR2:打开冒险岛游戏资源的全能工具箱

WzComparerR2:打开冒险岛游戏资源的全能工具箱 【免费下载链接】WzComparerR2 Maplestory online Extractor 项目地址: https://gitcode.com/gh_mirrors/wz/WzComparerR2 你是否曾好奇《冒险岛》游戏中那些精美的角色动画、华丽的装备效果、复杂的地图场景是…

2026/9/13 11:10:46

Python毕设项目:轻量化机器视觉人脸检测认证系统设计 图像降噪优化的 OpenCV 人脸识别系统 (源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/14 19:40:22

CTF密码学入门:从古典加密到RSA漏洞实战

1. CTF Crypto模块入门指南 作为CTF竞赛中最具挑战性的领域之一,密码学(Crypto)模块往往让新手望而生畏。记得我第一次参加CTF比赛时,面对那些看似天书般的加密算法完全无从下手。但经过系统学习和实战积累后,我发现Crypto题目其实有着清晰的…

2026/9/14 19:40:22

Tomcat RewriteValve路径遍历漏洞分析与修复指南

1. 漏洞背景与影响范围解析最近在Apache Tomcat的安全公告中,编号CVE-2025-55752的RewriteValve路径遍历漏洞引发了广泛关注。这个漏洞影响Tomcat 10.1.x、9.0.x和8.5.x系列中启用了RewriteValve组件的所有版本。作为Java Web应用最常用的容器之一,Tomca…

2026/9/14 19:40:22

Python零基础入门:寒假学习指南与环境配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/14 19:35:21

LangGraph子图设计与模块化AI系统开发实践

1. LangGraph子图设计基础与核心概念在构建复杂AI系统时,模块化设计是提升可维护性和扩展性的关键。LangGraph作为基于图的编程框架,其子图(Subgraph)功能允许我们将大型工作流分解为可重用的独立组件。这种设计模式特别适合需要多步骤推理和决策的AI应用…

2026/9/14 2:17:50

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/14 0:03:22

KCF目标跟踪算法与OTB工程实现:毕业设计实战解析

简介:这是一份基于KCF核相关滤波算法、融合尺度池与抗遮挡处理的目标检测跟踪MATLAB完整源码,主要面向计算机相关专业准备毕业设计、课程设计或期末大作业的学生,也适合需要项目实战练习的初学者。源码在OTB数据集上完成验证,能够…

2026/9/14 0:03:22

语音情感识别实战:Keras实现LSTM、CNN、SVM与MLP多模型对比

简介:面向语音情感识别入门与进阶开发者,这份基于Keras的项目源码完整实现了LSTM、CNN、SVM、MLP四种模型,兼容Python3.8与Keras/TensorFlow2环境。压缩包内含49个文件,大小约70.31MB,主体包括Python脚本、yaml/json配…

2026/9/14 11:59:31

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/14 13:53:59

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/14 11:22:57

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码