R语言教程课后习题答案(持续更新中~~)

R语言教程网址如下

https://www.math.pku.edu.cn/teachers/lidf/docs/Rbook/html/_Rbook/index.html

目录

source()函数可以运行保存在一个文本文件中的源程序

R向量下标和子集

数值型向量及其运算

日期功能

R因子类型


source()函数可以运行保存在一个文本文件中的源程序

如下内容保存在文件ssq.r中

sum.of.squares <- function(x){sum(x^2)
}

用source()命令运行

source("ssq.r")

可以运用sum.of.squares(1:5)

sum.of.squares(1:5)

R向量下标和子集

class.csv

name,sex,age,height,weight
Alice,F,13,56.5,84
Becka,F,13,65.3,98
Gail,F,14,64.3,90
Karen,F,12,56.3,77
Kathy,F,12,59.8,84.5
Mary,F,15,66.5,112
Sandy,F,11,51.3,50.5
Sharon,F,15,62.5,112.5
Tammy,F,14,62.8,102.5
Alfred,M,14,69,112.5
Duke,M,14,63.5,102.5
Guido,M,15,67,133
James,M,12,57.3,83
Jeffrey,M,13,62.5,84
John,M,12,59,99.5
Philip,M,16,72,150
Robert,M,12,64.8,128
Thomas,M,11,57.5,85
William,M,15,66.5,112
#取出其中的name和age列到变量name和age中
d.class <- read.csv("class.csv", header=TRUE, stringsAsFactors=FALSE)
name <- d.class[,"name"]
age <- d.class[,"age"]

1.求出age中第3, 5, 7号的值

age[c(3,5,7)]
输出 [1] 14 12 11

2.用变量age, 求出达到15岁及以上的那些值

age[age>=15]
输出 [1] 15 15 15 16 15

3.用变量name和age, 求出Mary与James的年龄

mary_age <- age[name == "Mary"]
james_age <- age[name == "James"]> mary_age
[1] 15
> james_age
[1] 12

4.求age中除Mary与James这两人之外的那些人的年龄值,保存到变量age1中

age1<-age[name!="Mary" & name!="James"]
> age1[1] 13 13 14 12 12 11 15 14 14 14 15 13 12 16 12 11 15

5.假设向量x长度为n, 其元素是{1,2,…,n}的一个重排。 可以把x看成一个i到x[i]的映射(i在{1,2,…,n}中取值)。 求向量y, 保存了上述映射的逆映射,即: 如果x[i]=j, 则y[j]=i

n <- length(x)
y <- vector("integer", length = n)for (i in 1:n) {j <- x[i]y[j] <- i
}

数值型向量及其运算

显示1到100的整数的平方根和立方根

for (i in 1:100) {sqrt_val <- sqrt(i)cubert_val <- i^(1/3)print(paste("整数:", i, " 平方根:", sqrt_val, " 立方根:", cubert_val))
}

 生成[0,1]区间上等间隔的100个格子点存入变量x中

x <- seq(0, 1, length.out = 100)
print(x)

日期功能

#dates.csv中包含如下内容
"出生日期","发病日期"
"1941/3/8","2007/1/1"
"1972/1/24","2007/1/1"
"1932/6/1","2007/1/1"
"1947/5/17","2007/1/1"
"1943/3/10","2007/1/1"
"1940/1/8","2007/1/1"
"1947/8/5","2007/1/1"
"2005/4/14","2007/1/1"
"1961/6/23","2007/1/2"
"1949/1/10","2007/1/2"
date1 <- dates.tab[,'出生日期']
date2 <- dates.tab[,'发病日期']

1.把date1、date2转换为R的POSIXct日期型

dates_converted1 <- as.POSIXct(date1, format = "%Y/%m/%d")
> dates_converted[1] "1941-03-08 CST" "1972-01-24 CST" "1932-06-01 CST" "1947-05-17 CDT"[5] "1943-03-10 CDT" "1940-01-08 CST" "1947-08-05 CDT" "2005-04-14 CST"[9] "1961-06-23 CST" "1949-01-10 CST"
dates_converted2 <- as.POSIXct(date2, format = "%Y/%m/%d")
> dates_converted[1] "2007-01-01 CST" "2007-01-01 CST" "2007-01-01 CST" "2007-01-01 CST"[5] "2007-01-01 CST" "2007-01-01 CST" "2007-01-01 CST" "2007-01-01 CST"[9] "2007-01-02 CST" "2007-01-02 CST"

2.date1中的各个出生年

library(lubridate)date1 <- c("1941/3/8", "1972/1/24", "1932/6/1", "1947/5/17", "1943/3/10","1940/1/8", "1947/8/5", "2005/4/14", "1961/6/23", "1949/1/10")birth_years1 <- year(as.Date(date1, format = "%Y/%m/%d"))print(birth_years1)birth_years2 <- year(as.Date(date2, format = "%Y/%m/%d"))print(birth_years2)

 3. 计算发病时的年龄,以周岁论(过生日才算)

ages <- year(date2) - year(date1)
for (i in seq_along(ages)) {if (month(date2[i]) < month(date1[i])) {ages[i] <- ages[i] - 1}}
print(ages)#输出[1] 65 35 74 59 63 67 59  1 45 58

4.把date2中发病年月转换为’monyy’格式,这里mon是如FEB这样英文三字母缩写, yy是两数字的年份

> formatted_date <- format(as.Date(date2), "%b%y")
> 
> formatted_date[1] "1月07" "1月07" "1月07" "1月07" "1月07" "1月07" "1月07" "1月07" "1月07"
[10] "1月07"

R因子类型

1.把sex变量转换为一个新的因子,F显示成“Female”,M显示成“Male”

factor(sex, levels = c("F", "M"), labels = c("Female", "Male")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/95505.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AcWing 288. 休息时间,《算法竞赛进阶指南》

288. 休息时间 - AcWing题库 在某个星球上&#xff0c;一天由 N 个小时构成&#xff0c;我们称 0 点到 1 点为第 1 个小时、1 点到 2 点为第 2 个小时&#xff0c;以此类推。 在第 i 个小时睡觉能够恢复 Ui 点体力。 在这个星球上住着一头牛&#xff0c;它每天要休息 B 个小…

H5移动端购物商城系统源码 小型商城全新简洁风格全新UI 支持易支付接口

一款比较简单的 H5 移动端购物商城系统源码&#xff0c;比较适合单品商城、小型商城使用。带有易支付接口。 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/88391704 源码下载2&#xff1a;评论留言或私信留言

保险业SAP转型:奠定坚实的基础

保险业面临着许多新的挑战&#xff1a;从新的市场参与者到人工智能和物联网。如何在这种快节奏的现实中满足客户的需求&#xff0c;降低成本&#xff0c;加速增长&#xff1f;首先&#xff0c;让我们考虑一下数字化转型成功是什么样子的&#xff0c;以及如何实现它。在这篇文章…

克服网络安全压力:如何掌控无限的云数据

管理云中的数字风险比以往任何时候都更加重要。数字化转型引发的云数据呈指数级增长&#xff0c;为安全分析师创造了一个更大的威胁环境。随着威胁行为者继续危害组织最敏感的数据&#xff0c;这一挑战将会加剧。 预计未来五年全球网络犯罪成本将激增&#xff0c;从 2022 年的…

强化学习实践(二)Gym安装及环境搭建(代码可运行)

1.准备工作 优先选用conda&#xff0c;conda不仅可以安装python&#xff0c;也是环境管理的工具&#xff0c;我们可以通过conda创建python环境&#xff0c;每个环境之间是相互独立&#xff0c;这样不同的环境可以使用不同版本的python&#xff0c;不同版本的开发包&#xff0c;…

mysql技术文档--阿里巴巴java准则《Mysql数据库建表规约》--结合阿丹理解尝试解读--国庆开卷

阿丹&#xff1a; 国庆快乐呀大家&#xff01; 在项目开始前一个好的设计、一个健康的表关系&#xff0c;不仅会让开发变的有趣舒服&#xff0c;也会在后期的维护和升级迭代中让系统不断的成长。那么今天就认识和解读一下阿里的准则&#xff01;&#xff01; 建表规约 表达是…

unity脚本_Vector3 c#

接下来学习 相对世界坐标 首先我们给场景物体一个空物体 修改新建空物体名字为GameObjectFather 修改GameObjectFather坐标 修改GameObject2坐标 然后将GameObjectFahter设置成GameObject2的父物体 我们观察到子物体的坐标改变了但是 运行显示的相对世界坐标this.transform.po…

基于蝴蝶优化的BP神经网络(分类应用) - 附代码

基于蝴蝶优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于蝴蝶优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.蝴蝶优化BP神经网络3.1 BP神经网络参数设置3.2 蝴蝶算法应用 4.测试结果&#xff1a;5.M…

Apollo Planning2.0决策规划算法代码详细解析 (2): vscode gdb单步调试环境搭建

前言: apollo planning2.0 在新版本中在降低学习和二次开发成本上进行了一些重要的优化,重要的优化有接口优化、task插件化、配置参数改造等。 GNU symbolic debugger,简称「GDB 调试器」,是 Linux 平台下最常用的一款程序调试器。GDB 编译器通常以 gdb 命令的形式在终端…

MySQL:数据库的物理备份和恢复-冷备份(3)

介绍 物理备份&#xff1a; 直接复制数据文件进行的备份 优点&#xff1a;不需要其他的工具&#xff0c;直接复制就好&#xff0c;恢复直接复制备份文件即可 缺点&#xff1a;与存储引擎有关&#xff0c;跨平台能力较弱 逻辑备份&#xff1a; 从数据库中导出数据另存而进行的备…

C++树详解

树 树的定义 树&#xff08;Tree&#xff09;是n&#xff08;n≥0&#xff09;个结点的有限集。n0时称为空树。在任意一颗非空树中&#xff1a;①有且仅有一个特定的称为根&#xff08;Root&#xff09;的结点&#xff1b;②当n>1时&#xff0c;其余结点可分为m&#xff08…

Python列表展开

列表展开 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 from iteration_utilities import deepflatten # if you only have one depth nested_list, use this def flatten(l): return [item for sublist in l for item in sublist] l [[1,2,3],[3]] print(flatten(l)) # [1,…

【C语言经典100例题-70】求一个字符串的长度(指针)

代码 使用指针来遍历字符串&#xff0c;直到遇到字符串结尾的空字符\0为止&#xff0c;统计字符数量即为字符串长度。 #include<stdio.h> #define n 20 int getlength(char *a) {int len 0;while(*a!\0){len;a;}return len; } int main() {char *arr[n] { 0 };int l…

在Spark中集成和使用Hudi

本文介绍了在Spark中集成和使用Hudi的功能。使用Spark数据源API(scala和python)和Spark SQL,插入、更新、删除和查询Hudi表的代码片段。 1.安装 Hudi适用于Spark-2.4.3+和Spark 3.x版本。 1.1 Spark 3支持矩阵 Hudi

Android 11.0 mt6771新增分区功能实现三

1.前言 在11.0的系统开发中,在对某些特殊模块中关于数据的存储方面等需要新增分区来保存, 所以就需要在系统分区新增分区,接下来就来实现这个功能,看系列三的实现过程 2.mt6771新增分区功能实现三的核心类 build/make/tools/releasetools/common.py device/mediatek/mt6…

将3D MAX设计模型导入NX1988

将3D MAX设计模型导入NX1988 概述导入流程导出喜欢的模型对模型进行修改模型贴图 概述 一般家装设计都不会用NX之类的产品设计软件&#xff0c;也没有通用的文件格式可以互相转换&#xff0c;本文的目的是将从网上下载的一些设计较好的3D MAX模型导入到NX软件中借用&#xff0…

导出视频里的字幕

导出视频里的字幕 如何利用剪映快速提取并导出视频里的字幕 https://jingyan.baidu.com/article/c35dbcb0881b6fc817fcbcd2.html 如何快速提取视频中的字幕&#xff1f;给大家介绍一种简单高效又免费的提取方法。需要利用到“剪映”&#xff0c;以下是具体的操作步骤和指引&a…

2023年7月工作经历三

年龄危机 传言&#xff1a;程序员干不过37岁&#xff0c;架构师干不过45岁&#xff0c;总监干不过55岁。我已经43岁了。当总监需要机遇&#xff1b;首下犯错&#xff0c;会扣领导工资&#xff1b;有的公司总监还需要出资。为了方便以后当总监&#xff0c;我还在超音速带过小团…

Django学习笔记-实现聊天系统

笔记内容转载自 AcWing 的 Django 框架课讲义&#xff0c;课程链接&#xff1a;AcWing Django 框架课。 CONTENTS 1. 实现聊天系统前端界面2. 实现后端同步函数 1. 实现聊天系统前端界面 聊天系统整体可以分为两部分&#xff1a;输入框与历史记录。 我们需要先修改一下之前代…

vars函数

vars() 是一个内置函数&#xff0c;用于返回一个对象的属性和属性值的字典。具体地说&#xff0c;它返回对象的 __dict__ 属性&#xff0c;如果对象没有 __dict__ 属性&#xff0c;则会引发 TypeError 异常。通常&#xff0c;vars() 函数用于查看对象的属性&#xff0c;特别是在…