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. myEclipse更换SVN登录账号

    Win10下 找到下面路径删除其下的所有文件 C:\Users\Administrator\AppData\Roaming\Subversion\auth\svn.simple AppData默认隐藏 ...

  2. Oracle 配置监听和本地网络服务

    一.配置监听 在oracle的配置和移植工具中打开Net Configuration Assistant,然后点击下一步. 点击下一步,然后输入监听的名称点击下一步 点击下一步后如图 点击下一步如图 ...

  3. CAD安装失败怎样卸载CAD 2018?错误提示某些产品无法安装

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

  4. Java工具-检验ftp服务器的指定文件是否存在

    项目工作中,需要检验ftp服务器中指定文件是否存在,在网上查阅了相关资料,可以通过ftpClient类进行实现. import org.apache.commons.net.ftp.FTP; impo ...

  5. 上传文件,使用FormData进行Ajax请求,jsoncallback跨域

    通过传统的form表单提交的方式上传文件: <form id= "uploadForm" action= "http://localhost:8080/cfJAX_ ...

  6. subclipse解决JavaHL不可用的问题

    最近在配置eclipse的svn插件,发现在部分机器上无法启用javaHL,很是奇怪,尤其是在windows环境下,网上搜索到的解决方案太复杂,居然还有说要安装slikSVN的,其实windows只需 ...

  7. 你真的了解 advice, joinpoint,pointcut,aspect吗?

    假设我们有一个很普通的Employee类,在某些方法被调用时,这个类里的方法也被调用. class Employee{ public String getName(int id){....} priv ...

  8. webpack打包将配置文件单独抽离不压缩打包

    webpack.config.js: plugins: [ //提取公共模块 new webpack.optimize.CommonsChunkPlugin({ name: 'vendors', ch ...

  9. angular的多个模块执行 angular里 字符串与对象的互转

    1.disable : true ,禁用 2.$timeout 计时器 $interval.cancel(timer); 3.app.run();  可以不使用控制器就开启数据,但适合$rootsco ...

  10. Android基础Activity篇——Toast

    1.Toast Toast在英文中有烤面包的意思,而在安卓开发中是用来提醒用户的消息显示.我猜这里之所以用Toast为该功能命名可能是因为消息的弹出方式就像面包烤好了从面包机中弹出来一样. 2.使用T ...