列表是一种特别的对象集合,它的元素也由序号(下标)区分,但是各元素的类型可 以是任意对象,不同元素不必是同一类型。元素本身允许是其它复杂数据类型,比如,列表 的一个元素也允许是列表。例如:

> rec

> rec

$name

[1] "李明"

$age

[1] 30

$scores

[1] 85 76 90

列表元素总可以用“列表名[[下标]]”的格式引用。例如:

> rec[[2]]

[1] 30

> rec[[3]][2]

[1] 76

修改列表

列表的元素可以修改,只要把元素引用赋值即可。如:

> rec$age

甚至

> rec$age

(可以任意修改一个列表元素)。如果被赋值的元素原来不存在,则列表延伸以包含该新 元素。

提取某List某指标

方法一:

先编写一个提取list子集的函数:

subdate

x$DATE

}

复制代码

然后用lapply或者sapply

sapply(s,subdate)

看一下出来的结果

方法二:

提取DATE内容:

s[[1]]$DATE

复制代码

变动其中的数字,就可以把每一组的DATE提取出来了。

(需要自己编写循环)

参考于:http://bbs.pinggu.org/thread-3410181-1-1.html

方法三:提取长度大于某程度的list

x[lapply(x, length)>100]

用lapply计算每个x的长度。

list之间的合并

list之间的合并用:

c(list(1),list(2))

——————————————————————————————————————————————————————————————————————

unlist与list的区别

unlist(x)生成一个包含x所有元素的向量。作用是,展平数据列表。

unlist把l.ex[1]=unlist(l.ex)[1]+unlist(l.ex)[2],一拆为二。

> ##unlist是啥??

> l.ex

> #list数据[]与[[]]是一样的

> l.ex[2]

[[1]]

[[1]][[1]]

[1] "Z"

[[1]][[2]]

[1] "A"

> l.ex[[2]]

[[1]]

[1] "Z"

[[2]]

[1] "A"

>

> #unlist把l.ex[1]的元素拆开了,分为unlist[1]+unlist[2]

> unlist(l.ex, recursive = FALSE)[3]

[[1]]

[1] "Z"

> unlist(l.ex, recursive = FALSE)[[3]]

[1] "Z"

————————————————————————————————————————————————————————————————

list在批量读取、写出xlsx数据时的用法

方法弊端:弊端就是循环语句的弊端,导入的原始数据每个sheet都需要相同的数据结构。

list在批量读取数据时候的用法,一开始笔者困惑在:

1、如何循环读取xlsx中的sheet数据,然后批量放入list之中?——先定义list

2、如何定义写出时候的文件名字——paste函数

批量读取的基本流程就是:写入(list[[i]])、操作、写出

#1、读取xlsx中所有的sheet表格

#如果像vector一样定义List??——list()函数来主动定义,用data.list[[i]]来赋值

data.list

for (i in 1:2){

data.list[[i]]=read.xlsx("C1.xlsx",i)

}

以上是写入,看看如何写出:

#3、利用List批量读出操作

#难点:如果构造输出表格的名称——paste来构造名称

flie=list()

xlsxflie=paste(1:2,".xlsx",sep="")

for(i in 1:2){

flie[[i]]=paste("C:/Users/long/Desktop/",xlsxflie[i],sep="")

write.xlsx(data.list2[[i]],file)

}

写出时候文件名称困扰我很久,如何按照一定的规则来命名,可以先用paste弄好固定格式,然后通过paste[i]循环调用。

其中:paste之后会有如vector一般的格式,可以用[i]来调用。

————————————————————————————————————————————————————————————————

list中的字符串型数据如何导出?

list是大规模数据操作非常优秀的方式,能够存放非结构化的文本数据。但是如果,文本分好词之后的数据(如下图),如何将存放在list中的数据进行导出呢?

[[1]]

n v en n

"职位" "描述" "Android" "平台"

[[2]]

n v n

"岗位" "描述" "前端"

笔者想办法的几种方式:

unlist->变成向量

data.frame->变成序号+单词

as.chacter->单个文本

#list中的字符串型数据如何导出?

#list中非一般的字符串形式

[[1]]

n v en n

"职位" "描述" "Android" "平台"

[[2]]

n v n

"岗位" "描述" "前端"

#1、unlist与list区别

Job_Pwordseg.ct[1][1] #不论如何都不能得到list中的单个单词

unlist(Job_Pwordseg.ct[1])[1]#可以得到单个单词,向量形式

#2、data.frame法,批量处理时,因为不等长而无法合并

data.frame(Job_Pwordseg.ct[1]) #变成了序号+单词

data.frame(unlist(Job_Pwordseg.ct[1])) #跟list一样的结果

#3、as.character

as.character(unlist(Job_Pwordseg.ct[1]))

#[1] "职位" "描述" "Android" "平台" "进行" "手机"

as.character(Job_Pwordseg.ct[1])

#[1]"c(\"职位\", \"描述\", \"Android\", \"平台\", \"进行\")

变换得到了数据之后,又出现了问题:

如何将list中那么子集合并?——不等长合并

两种方法:c(),可以将list[1] 和list[2]进行直接合并,可以兼容不等长,当然合并之后,还有list文件;

rbind.fill函数,不等长合并函数,在plyr包中。

#4、t()在list的文本型

t(data.frame(Job_Pwordseg.ct[1]))

#A [,1] [,2] [,3]

#"职位" "描述" "Android"

data.frame(t(data.frame(Job_Pwordseg.ct[1])))

#A [,1] [,2] [,3]

#职位 描述 Android

#4、list中字符的合并用c

c(Job_Pwordseg.ct[1],Job_Pwordseg.ct[2])

不等长合并的时候,rbind.fill函数可以很好将数据进行合并,并且补齐没有匹配到的缺失值为NA。

#如何解决合并时数据不等长问题——两种方法:do.call函数以及rbind.fill函数(plyr包)

#rbind.fill函数只能合并数据框格式

#do.call函数在数据框中执行函数(函数,数据列)

library("plyr") #加载获取rbind.fill函数

#第一种方法

list1

list1[[1]]=data.frame(t(data.frame(Job_Pwordseg.ct[1])))

list1[[2]]=data.frame(t(data.frame(Job_Pwordseg.ct[2])))

do.call(rbind.fill,list1)

#第二种方法

u=rbind.fill(data.frame(t(data.frame(Job_Pwordseg.ct[1]))),data.frame(t(data.frame(Job_Pwordseg.ct[2]))))

得到了数据之后,数据量小的话,很容易读写,但是数据量大的话,很难做到那么顺畅。当然,为什么要导出呢——因为要传给别的队友。。。

可以有两种办法:

1、批量写出,批量读入;

2、写写成一个data,然后导出,再写入。

#读写函数用write.table、read.table+t()

write.table(u,"C:/Users/long/Desktop/3.txt")

t(read.table("C:/Users/long/Desktop/3.txt"))

#分隔符sep=""(空格、制表符、回车),"\n"(引号),"\t"(制表符分隔符中有空格)

#字符型字段中,自带空格,则使用参数 strip.white=TRUE

#方法一:单文件导出,后批量导入

#方法二:先合成一个文本导出,再导入

R语言学习笔记:读取前n行数据

常规读取 一般我们读取文件时都会读取全部的文件然后再进行操作,因为R是基于内存进行计算的. data

寻找与疾病相关的SNP位点——R语言从SNPedia批量提取搜索数据

是单核苷酸多态性,人的基因是相似的,有些位点上存在差异,这种某个位点的核苷酸差异就做单核苷酸多态性,它影响着生物的性状,影响着对某些疾病的易感性.SNPedia是一个SNP调査百科,它引用各种已经发布 ...

r语言之生成随机序列,随机数生成函数及用法

(1)生成正态分布随机数: rnorm(n,mean,sd)     其中,n表示生成的随机数个数,mean表示正态分布均值,sd表示正态分布标准差 > rnorm(5,0,2)[1] -5.3 ...

R语言︱文件读入、读出一些方法罗列(批量xlsx文件、数据库、文本txt、文件夹)

笔者寄语:小规模的读取数据的方法较为简单并且多样,但是,批量读取目前看到有以下几种方法:xlsx包.RODBC包.批量转化成csv后读入. R语言中还有一些其他较为普遍的读入,比如代码包,R文件,工作 ...

R语言从小木虫网页批量提取考研调剂信息

一.从URL读取并返回html树     1.1 Rcurl包         使用Rcurl包可以方便的向服务器发出请求,捕获URI,get 和 post 表单.比R socktet连接要提供更高水 ...

R语言︱函数使用技巧(循环、if族/for、switch、repeat、ifelse、stopifnot)

每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 后续加更内容: 应用一:if族有哪些成员呢?- ...

R语言︱构造新序列

1.数值构造函数rep与seq #数值构造rep与seq rep(1:4,each=2)#依次重复1:4两遍 rep(1:4,2) #注意,重复1:4两遍 seq(from=3,to=5,by=0.2 ...

R语言中知识点总结(二)

一些函数不知道什么意思要查,看数值例子,做笔记,知道函数的功能,函数和返回值. 网页上查找关键词,巧用查找(ctrl+F) 数据读取处理,有read.table   read R-读取数据(导入csv ...

R语言-处理异常值或报错的三个示例

博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html Tuesday, March 31, 2015 之前用rvest帮人写了一个定期抓取amazon ...

随机推荐

使用generator生成排序动画

相信作为一个程序猿,大家应该都已经看过一些排序算法的过程教学动画,现在我来总结一下自己使用ES6的generator实现动画的过程,以作为自己对generator的使用实践的一个记录. 为什么用gen ...

tomcat中的JSP引擎

jsp文件解析成class文件过程需要利用tomcat的jasper组件. Jasper是tomcat中使用的JSP引擎,在Tomcat 6中使用的是Jasper 2,相对于原来的版本作了不少的改进, ...

电梯多媒体WinForm项目Q&A总结

最近,我给一家公司做了个电梯多媒体软件,该软件使用C#编写,现在我将其中遇到的问题及其解决方法总结一下,以便下次再遇到同样的问题可以快速解决:同时,也给博友分享一下,共同学习,共同提高. 1.Ques ...

Java 基础类型

在Java中,基本的数据类型主要有8种: 1)int  4 字节(byte)  -2的31次方到2的31次方-1 2)short 2 字节(byte) -2的15次方到2的15次方-1 3)long ...

Spring Cache扩展:注解失效时间+主动刷新缓存

*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

程序员跳槽有一份好的简历,offer让你拿到手软

作者:果汁简历 工欲善其事必先利其器,这是自古以来的道理,所以如果想找到一份好的工作,一定要先整理一份好的简历. 模板 写简历首先要有一个好的模板,我们做技术的不同于 UX,UED,我们不需要那么花哨 ...

kettle数据库连接使用变量

新增db连接(密码也可以设置参数) 转换中,右键空白处,选择转换设置

mount命令详解及常见问题汇总

一 .mount命令(用来挂载硬盘或镜像等) 用法:mount [-t vfstype] [-o options] device dir1.-t vfstype 指定文件系统的类型,通常不必指定.mo ...

视音频数据处理入门:RGB、YUV像素数据处理

===================================================== 视音频数据处理入门系列文章: 视音频数据处理入门:RGB.YUV像素数据处理 视音频数据处理 ...

C语言初始化

注意:为什么要进行C语言环境的初始化?在没有进行C语言环境的初始化之前的初始化工作都是用汇编进行初始化的.比如核心初始化,和内存初始化 栈:栈帧:一个进程中一般会有多个函数,每一个函数都需要在内存中开 ...

rraylist参数_R语言︱list用法、批量读取、写出数据时的用法相关推荐

  1. R语言︱list用法、批量读取、写出数据时的用法

    列表是一种特别的对象集合,它的元素也由序号(下标)区分,但是各元素的类型可 以是任意对象,不同元素不必是同一类型.元素本身允许是其它复杂数据类型,比如,列表 的一个元素也允许是列表.例如: > ...

  2. r语言 fread函数参数_R语言 第4章 初级绘图(6)

    分析数据间的关系 散点矩阵图 如果数据框是多维数据,那么plot函数将绘制出两两之间散点图组合成为散点矩阵图(matrix of scatterplots).散点矩阵图将多个散点图组合起来,以便可以同 ...

  3. java给r语言传参数_R语言的传参

    越南式三明治 1. mac或linux: 脚本第一行加:#!/usr/bin/Rscript 2. commandArgs()传参: 测试脚本test.R:args print(args[1]) pr ...

  4. R语言入门——批量读取文件

    目录 引言 1.数据名称 1.1有规律的文件名 1.2无规律的 2.相对路径 3.完整代码例子 总结 引言 在R语言入门--数据快速读取与查看(含实例代码和参数讲解)中介绍了几种R语言读取外部数据的函 ...

  5. 【Elasticsearch】elasticsearch里面的关于批量读取mget的用法

    1.概述 转载并且补充:elasticsearch里面的关于批量读取mget的用法 es的api除了提供了基本的curd操作外,还有两个针对批量的操作分别是: 批量的读取操作(mget) 批量的写入操 ...

  6. R语言批量读取txt文件并合并

    气象数据处理-R语言批量读取txt数据并合并 处理地面气候资料日值数据集v3.0 数据集以月为单位存储,每个月是一个单独的文件,上图. 在处理数据过程中,我们往往会将单独的数据合并到一起做进一步分析, ...

  7. R语言批量读取写入Excel数据 r导出输出写入excel多个sheet 导出excel 导入 excel 读入excel 表格

    前一段,写过一篇:R语言中写入Excel的不同sheet表格,最近学习了tidyverse的方法,感觉需要总结一下,更新一下知识结构. 本文准备用实际数据,做一下操作: 「批量读取:」 批量读取多个E ...

  8. R语言入门——数据快速读取与查看(含实例代码和参数讲解)

    R语言数据读取 介绍 引言 结构安排 数据读取函数 文本数据 readLines函数 键盘键入数据 scan函数讲解 表格数据 .xlsx文件介绍 表格数据函数参数介绍 快速读入参数介绍 竞赛数据练习 ...

  9. R语言 如何合并csv文件(批量读取csv文件)

    目录 问题描述 解决思路 代码 特别解释list.files()函数 问题描述 假设文件夹下有n个csv文件,需要将其合并后存入一个新的csv文件之中. 解决思路 获得文件绝对地址列表(每个元素是一个 ...

最新文章

  1. [memcached] 2. 高级应用
  2. 03005_SQL查询语句
  3. linux主机中util啥意思,Util-linux
  4. [MySQL]关于amd.dll后门病毒入侵3306端口的临时解决方案
  5. 【BZOJ4562】食物链,拓扑DP
  6. python语言的三种数字类型_Python语言中的类型之数字类型--Python(10)
  7. 计算机无法上网修复工具,网络异常修复工具,连接后无法上网修复方式
  8. Windows 对外开放端口号
  9. Java自带的keytool命令
  10. 华为交换机web界面配置
  11. 【项目篇-项目创新点怎么写?(两千字图文总结建议)】创新创业竞赛项目计划书、新苗国创(大创)申报书
  12. firework.js
  13. 来了!Python 官方发布了整套的中文PDF 文档(共27本)
  14. 电商自营藏猫腻 苏宁国美京东的套路谁最深?
  15. 概率Probability的本质是什么?[附概率基础知识,文末可下载28页PDF]
  16. MSVC创建的Qt工程图标设置
  17. 牛牛游戏牛型判断算法实现
  18. 阿里云三网手机号实名认证和印刷文字识别_身份证识别
  19. Linux多个小压缩文件合并一个压缩文件命令
  20. web ui自动化之弹窗操作 - alert模块

热门文章

  1. oracle 算年级,oracle 查询年级,班级,班级人数;
  2. 从入门到入土:Python爬虫学习|实例练手|爬取猫眼榜单|Xpath定位标签爬取|代码
  3. 从入门到入土:基于Python采用TCP协议实现通信功能的程序
  4. 2021 前端面试经常被问到 Javascript+HTML5+CSS+ 框架问题(89 篇资料总结)
  5. 阿里正在研发无人卡车;《王者荣耀》皮肤个性动作涉嫌抄袭致歉;​苹果泄露女生私密照赔偿数百万美元|极客头条...
  6. X86 “将死“?RISC-V 正当立
  7. IT 趣味故事:TCP 出“大事”了!
  8. 你被限流了吗?| 图解+代码
  9. 15 岁黑进系统,发挑衅邮件意外获 Offer,不惑之年捐出全部财产,Twitter CEO 太牛了!...
  10. 种草 ES2020 八大新功能