1. CSV文件的的读取与写出
2. 数据集筛选
3. 简单随机抽样 sample函数
 
正文:
1. CSV文件的的读取与写出
  • 文件读取: df2 <- read.table("C:\\Users\\Lee\\Desktop\\R语言\\dummyData.csv", header= TRUE, sep=",")
  • 文件写出:write.table(df1, "C:\\Users\\Lee\\Desktop\\R语言\\dummyData.csv", sep=",", row.names=FALSE)

2. 数据集筛选

方法一:数据框方法即 newdata[filter条件,filter条件]

> newdata <- read.table("C:\\Users\\Lee\\Desktop\\R语言\\leadership.csv", header= TRUE, sep=",")
> newdata
  manager       date country gender age q1 q2 q3 q4 q5
1       1 2014/10/27      US      M  32  5  4  5  5  5
2       2 2014/10/28      US      F  45  3  5  2  5  5
3       3 2014/10/29      UK      F  25  3  5  5  5  2
4       4 2014/10/30      UK      M  39  3  3  4 NA NA
5       5 2014/10/31      UK      F  99  2  2  1  2  1

 
>newdata<- leadership[with(leadership,which(gender=="M")),]
> newdata
  manager       date country gender age q1 q2 q3 q4 q5
1       1 2014/10/27      US      M  32  5  4  5  5  5
4       4 2014/10/30      UK      M  39  3  3  4 NA NA
> newdata<- leadership[with(leadership,which(gender=="M" & age>34)),]
> newdata
  manager       date country gender age q1 q2 q3 q4 q5
4       4 2014/10/30      UK      M  39  3  3  4 NA NA
注意
> newdata<- leadership[which(gender=="M" & age>34),]
Error in which(gender == "M" & age > 34) : object 'gender' not found
#要指明gender是属于那个数据框,否则会出错
 
方法二:用subset函数筛选
subset(dataset,条件#筛选行,筛选列)
 
newdata <- subset(leadership, gender=="M" & age>25,select=c(gender:q2))#列只取gender:q2列
> newdata
  gender age q1 q2
1      M  32  5  4
4      M  39  3  3
> newdata <- subset(leadership, gender=="M" & age>25,select=gender:q5)
> newdata
  gender age q1 q2 q3 q4 q5
1      M  32  5  4  5  5  5
4      M  39  3  3  4 NA NA
>  
 
3. 简单随机抽样 sample函数

id <- sample(1:2,nrow(iris),replace=TRUE,prob=c(0.7,0.3)) #1:2表示在1:2这个区间,replace=TRUE有放回的抽取nrow(iris)个值, nrow(iris)是一个数值,即iris观测值的个数,记录条数,有多少行,其中1 ,2的分配比例是prob=c(0.7,0.3)
> id
  [1] 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 1 2 2 1 2
[40] 1 1 1 2 1 1 2 1 1 1 2 1 1 2 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2
[79] 1 1 2 1 1 1 1 2 1 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 2 1 1 1
[118] 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 2 1 1 2 1 1 1 2 2 2 1 1
traindata <- iris[id==1,]#训练集
testdata <- iris[id==2,] #测试集
 
【举例】
> mysample <- binary[sample(1:nrow(binary),3,replace=0),]
> mysample
    admit gre  gpa rank
390     0 640 3.51    2
225     0 800 2.90    2
44      0 500 3.31    3
> mysample <- binary[sample(1:nrow(binary),3,replace=0),]
> mysample
    admit gre  gpa rank
60      0 600 2.82    4
213     0 460 2.87    2
25      1 760 3.35    2
> mysample <- binary[sample(1:nrow(binary),3,replace=0),]
> mysample
    admit gre  gpa rank
30      0 520 3.29    1
303     1 400 3.15    2
395     1 460 3.99    3
>  
 
 

R 语言学习日志 1的更多相关文章

  1. R语言学习 第四篇:函数和流程控制

    变量用于临时存储数据,而函数用于操作数据,实现代码的重复使用.在R中,函数只是另一种数据类型的变量,可以被分配,操作,甚至把函数作为参数传递给其他函数.分支控制和循环控制,和通用编程语言的风格很相似, ...

  2. R语言学习笔记之: 论如何正确把EXCEL文件喂给R处理

    博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html ---- 前言: 应用背景兼吐槽 继续延续之前每个月至少一次更新博客,归纳总结学习心得好习惯. ...

  3. R语言学习笔记(二)

    今天主要学习了两个统计学的基本概念:峰度和偏度,并且用R语言来描述. > vars<-c("mpg","hp","wt") &g ...

  4. R语言学习笔记:小试R环境

    买了三本R语言的书,同时使用来学习R语言,粗略翻下来感觉第一本最好: <R语言编程艺术>The Art of R Programming <R语言初学者使用>A Beginne ...

  5. R语言学习路线和常用数据挖掘包(转)

    对于初学R语言的人,最常见的方式是:遇到不会的地方,就跑到论坛上吼一嗓子,然后欣然or悲伤的离去,一直到遇到下一个问题再回来.当然,这不是最好的学习方式,最好的方式是——看书.目前,市面上介绍R语言的 ...

  6. R语言学习 第一篇:变量和向量

    R是向量化的语言,最突出的特点是对向量的运算不需要显式编写循环语句,它会自动地应用于向量的每一个元素.对象是R中存储数据的数据结构,存储在内存中,通过名称或符号访问.对象的名称由大小写字母.数字0-9 ...

  7. R语言学习笔记:基础知识

    1.数据分析金字塔 2.[文件]-[改变工作目录] 3.[程序包]-[设定CRAN镜像] [程序包]-[安装程序包] 4.向量 c() 例:x=c(2,5,8,3,5,9) 例:x=c(1:100) ...

  8. R语言学习笔记——C#中如何使用R语言setwd()函数

    在R语言编译器中,设置当前工作文件夹可以用setwd()函数. > setwd("e://桌面//")> setwd("e:\桌面\")> s ...

  9. R语言学习2:绘图

    本系列是一个新的系列,在此系列中,我将和大家共同学习R语言.由于我对R语言的了解也甚少,所以本系列更多以一个学习者的视角来完成. 参考教材:<R语言实战>第二版(Robert I.Kaba ...

随机推荐

  1. c++11 多线程 1

    第3章 线程间共享数据 本章主要内容 共享数据带来的问题 使用互斥量保护数据 数据保护的替代方案 保护共享数据结构的最基本的方式,是使用C++标准库提供的互斥量(mutex). 清单3.1 使用互斥量 ...

  2. JavaSE---死锁

    1.死锁: 当2个线程互相等待对方释放  同步监视器  时就会发生死锁,JVM没有监测,也没有采取任何措施来避免死锁(当出现死锁时,整个程序既不会发生任何异常,也不会有任何提示, 所有线程处于阻塞状态 ...

  3. Ordering Tasks UVA - 10305(拓扑排序)

    在一个有向图中,对所有的节点进行排序,要求没有一个节点指向它前面的节点. 先统计所有节点的入度,对于入度为0的节点就可以分离出来,然后把这个节点指向的节点的入度减一. 一直做改操作,直到所有的节点都被 ...

  4. 【3dsMax安装失败,如何卸载、安装3dMax 2019?】

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  5. SteamVR手柄震动控制实现

    SteamVR手柄震动控制实现 public class handCtrl : MonoBehaviour { public SteamVR_TrackedObject _TrackedObject; ...

  6. 切图技巧——PS篇

    1.选框工具这里可以选择增加选区.减少选区 ==> 2.存储为web格式 1)JPG:一般用于大图 2)gif:可作动图,与png-8基本一样,不支持半透明 3)png-8:不支持动图,不支持半 ...

  7. 关于数学问题的urls

    一个知乎账号, 分析了很多的数学问题: https://www.zhihu.com/people/matongxue/activities 关于三阶样条的解析: https://blog.csdn.n ...

  8. 警告: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:esignmanage' did not find a matching property.解决

    1.开发环境: 环境:myeclipse2015+tomcat7+win10 2.异常: 偶尔在部署项目的时候回发现tomcat7部署后配置文件按照路径居然找不到自己的项目.httP://localh ...

  9. 【Linux】ping命令详解

    1.ping指定目的地址10.10.0.1 为接口tun0 ping 10.10.0.1 -i tun0

  10. StreamReader类

    StreamReader类用于从文件中读取数据,该类是一个通用类,可用于任何流,构造方法和StreamWrite类格式一样的. 创建方式有两种: 1.先创建Filestream类在创建StreamRe ...