R语言—数据基础及练习

这篇具有很好参考价值的文章主要介绍了R语言—数据基础及练习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

## 创建leadership数据框
manager <- c(1,2,3,4,5)
date <-c("10/24/08","10/28/08","10/1/08","10/12/08","5/1/09")
country <- c("US","US","UK","UK","UK")
gender <- c("M","F","F","M","F")
age <- c(32,45,25,39,99)
q1 <- c(5,3,3,3,2)
q2 <- c(4,5,5,3,2)
q3 <- c(5,2,5,4,1)
q4 <- c(5,5,5,NA,2)
q5 <- c(5,5,2,NA,1)
leadership <- data.frame(manager,date,country,gender,age,q1,q2,q3,q4,q5,stringsAsFactors = FALSE)
leadership
##创建新变量
leadership <- transform(leadership,q6=q1+q2,q7=(q1+q2)/2)
##变量的重编码
leadership <- within(leadership,{
                     agecat <- NA
                     agecat[age>75] <- "Elder"
                     agecat[age >=55 & age <=75] <- "Middle Aged"
                     agecat[age <55] <- "Young"})
leadership
##变量的重命名
install.packages("plyr")
library(plyr)
leadership <- rename(leadership, c(manager="managerID",date="testDate"))
leadership
##缺失值
缺失值是不可比较的
缺失数据需在分析前重新编码为缺失值
is.na(leadership[,6:10])
##在分析中排除缺失值
含有缺失值的算术表达式和函数的计算结果也是缺失值
sum(q4,na.rm=T)
## na.omit()移除所有含有缺失值的观测
leadership
mydata <- na.omit(leadership)
mydata
##日期值
as.Date()函数 将以字符串形式输入R中的日期值转化为以数值形式存储的日期变量
myformat <- "%m/%d/%y"
leadership$testDate <- as.Date(leadership$testDate,myformat)
leadership
Sys.Date()#返回当天的日期
date()#返回当前的日期和时间
DOB <- as.Date("1997-08-21")
today <- Sys.Date()
difftime(today,DOB,units="weeks")
##类型转换
is.datatype() 允许根据数据的具体类型加以不同的方式处理
as.datatype() 分析前先将数据进行转化
##数据排序
order() 默认的排序顺序--升序
在排序变量前加一个减号即可得到降序的排序结果
newdata <- leadership[order(leadership$age),]
newdata
##数据集的合并
向数据框添加列 cbind() #不需要一个公共索引
向数据框添加行 rbind() #注意多余变量的处理
merge(dataframeA,dataframeB,by="") #横向合并,通过一个或多个共有变量进行联结
##数据集取子集
选入(保留)变量、剔除(丢弃)变量 #逻辑向量&比较运算符
选入观测
#subset()函数
newdata <- subset(leadership, age >= 35 | age < 24, select=q1:q4)
newdata

随机抽样:从数据集中(有放回或无放回地)抽取大小为n的一个随机样本
#sample()函数
mysample <- leadership[sample(1:nrow(leadership),3,replace=F),]
mysample

练习题

一.将1、2、...20构成两个5*4阶的矩阵,其中矩阵A是按列输入,矩阵B按行输入

1. 将A和B按照行合并;

2. 将A和B转化为数据框DA和DB,并将他们的列命名为("ID","A1","A2","A3");

3. 以”ID”为条件将DA和DB进行匹配;

4. 在DA中选取“A2”列大于12且小于15的子集。

 文章来源地址https://www.toymoban.com/news/detail-807378.html

A=matrix(1:20,nrow=5,byrow=F)
A
B=matrix(1:20,nrow=5,byrow=T)
B

R语言—数据基础及练习

 

#(1)
rbind(A,B)

R语言—数据基础及练习

 

 

#(2)
colnames(A)=c("ID","A1","A2","A3")
DA=data.frame(A)
DA
colnames(B)=c("ID","A1","A2","A3")
DB=data.frame(B)
DB

R语言—数据基础及练习

 

 

#(3)
merge(DA,DB,by="ID")

R语言—数据基础及练习

 

 

#(4)
newdata=subset(DA,A2>12&A2<15,select=ID:A3)
newdata

R语言—数据基础及练习

 

 

二.随机生成服从均值为2,标准差为3的正态分布的长度为5的向量x

 

  1. 将x降序排列,生成向量y
  2. 采用有放回抽样的方式从y中抽取3个元素
  3. 采用不放回抽样的方式,以概率prob=c(0.1,0.05,0.2,0.5,0.15)从中抽取3个元素。
#均值为2,标准差为3,长度为5的正态分布
x = rnorm(5,2,3)
x

R语言—数据基础及练习

 

 

#(1)
y=x[order(-x)]
y

R语言—数据基础及练习

 

 

#(2)
y[sample(1:5,3,replace=T)]
y

R语言—数据基础及练习

 

 

#(3)
y[sample(1:5,3,replace=F,prob=c(0.1,0.05,0.2,0.5,0.15))]
y

R语言—数据基础及练习

 

到了这里,关于R语言—数据基础及练习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C语言】数据在内存中存储练习

    废话不多说直接上题目: 写出-1这个数的二进制补码 当类型为char的时候数据需要截断储存 当数据以整数类型打印的时候就要发生整型提升、 如下分析: 当把-1的补码放到char 类型的数据中存储是会发生截断如图所示: 所以a,b,c,中存放的都是11111111 但是当以整数的形式取出来

    2024年02月06日
    浏览(35)
  • python3 0基础学习----数据结构(基础+练习)

    1. 定义 列表是一种有序的 可变序列 ,可以包含不同类型的元素。列表可以通过方括号 [] 来表示,元素之间用 逗号分隔 。 注释: 注意列表可变,字符串不可变,只能改变大小写 2. 实例: 3. 列表中常用方法 .append(要添加内容) 向列表末尾添加数据 .extend(列表) 将可迭代对象逐个

    2024年02月12日
    浏览(36)
  • C语言数据在内存中存储---整型提升练习

    前言:学习了C语言中的整型提升,总是感觉听的时候很明白,但当自己做题的时候,又总是遗漏了哪一步。自己的感悟:整型提升步骤以及原理都一样,就是把步骤记清楚一步一步的来就行。因此通过下面的一道题来每日复习。 前景回顾: 整型提升:一个表达式中的操作数

    2024年02月10日
    浏览(54)
  • 数据库SQL语言实战(五)(数据库系统概念第三章练习题)

    目录 前言知识 一、 关系模式 二、 属性域 例子 介绍 作用 三、Select常数 举例 解释  四、集合差运算 本质 举例  结论 练习题 3.17 3.18  3.21  总结  注:本文的SQL语言适用的是 Oracle数据库 与mySQL可能存在略微不同 模式的定义 :模式则是指数据库中 所有关系模式 的集合,它

    2024年04月22日
    浏览(59)
  • c语言版:数据结构(时间复杂度,空间复杂度,练习)

        时间复杂度是用来衡量算法执行时间的一个指标。它表示随着输入规模的增加,算法执行时间的增长率。时间复杂度通常用大O符号表示。    在计算时间复杂度时,通常会 忽略常数项、低阶项和系数项 , 只关注随着输入规模增长而导致的主要影响。这是因为在实际应用

    2024年01月21日
    浏览(49)
  • 数据库系统概述——第三章 关系数据库标准语言SQL(知识点复习+练习题)

    🌟 博主: 命运之光 🦄 专栏: 离散数学考前复习(知识点+题) 🍓 专栏: 概率论期末速成(一套卷) 🐳 专栏: 数字电路考前复习 🦚 专栏: 数据库系统概述 ☀️ 博主的其他文章: 点击进入博主的主页​​​​​ 前言: 身为大学生考前复习一定十分痛苦,你有没有过

    2024年02月10日
    浏览(65)
  • 数据结构:链表基础OJ练习+带头双向循环链表的实现

    目录 一.leetcode剑指 Offer II 027. 回文链表 1.问题描述 2.问题分析与求解 (1) 快慢指针法定位链表的中间节点 (2) 将链表后半部分进行反转 附:递归法反转链表 (3) 双指针法判断链表是否回文 二.带头双向循环链表的实现 1.头文件 2.节点内存申请接口和链表初始化接口 3.链表的打

    2024年02月02日
    浏览(49)
  • Vue3前端开发,provide和enject的基础练习,跨层级传递数据

    Vue3前端开发,provide和enject的基础练习,跨层级传递数据! 声明:provide虽然可以跨层级传递,但是依旧是需要由上向下的方向传递。根传子的方向。 这个是入口组件的内容,我们调用了一个中间组件Middle.vue。 这个是中间组件的内容,我们调用了一个三级组件Three.vue. 这个是第三

    2024年01月22日
    浏览(47)
  • 数据结构c语言版:顺序表oj题练习(原地移除元素、合并两个有序数组)

    在单数组里面历遍找val,如果是val,就删除。不是就跳过。 时间复杂度O(n^2),最坏情况每个都是val。相当于一个等差数列。 比如 下标0开始找,0不是,不动数组 下标1,1不是,不动数组 下标2,2是,删除元素,变成【0,1,2,3,0,4,2】 下标2,2是,删除元素,变成【0,

    2024年01月23日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包