array, matrix, list and dataframe
总结一下“入门3R”(Reading, ‘Riting, ‘Rrithmetic)中的读和写,不同的数据结构下的读写还是有点区别的。
vector
命名
1 |
month.days<-c(31,28,31,30,31,30,31,31,30,31,30,31) |
操作文本
1.文本分离
1 |
pangram<-"The quick brown fox jumps over the lazy dog" |
strplit()函数将pangram用空格切开,这个函数的返回值是list
1 |
words<-strsplit(pangram," ")[[1]] |
可以取出字符串数组
2.文本连接
1 |
paste(LETTERS[1:5],1:5,sep="_",collapse="---") |
用空格连接words中的元素,paste()接收的参数应该是多个变量,sep决定多个向量之间的连接符,而collapse决定统一向量中的元素怎么合并。
3.文本排序
1 |
sort(letters,decreasing=TRUE) |
4.查找文本
1 |
substr(state.name,start=3,stop=6) |
grep(pattern,x)返回的是符合pattern的元素的在x中的位置
5.文本替换
1 |
gsub("cheap","sheep's","A wolf in cheap clothing")
|
1 |
x<-c("file_a.csv","file_b.csv","file_c.csv")
|
因子分类
factor(x,levels,labels)可以创建R因子,而levels指的是x的输入值,labels表示新创建的因子的输出值。
因子转换
1 |
numbers<-factor(c(9,8,10,8,9)) |
有序因子
类别数据的统计
1 |
table(state.region) |
有序变量
- 使用
factor()函数,并且指定参数ordered=TRUE - 使用
ordered()函数
matrix
1 |
matrix(data,ncol,nrow,byrow) |
索引、修改和命名
1 |
first.matrix<-matrix[1:12,ncol=4,byrow=TRUE] |
计算
1 |
t()###转置 |
array
向量和矩阵都是数组.
1 |
array(1:24,dim=c(3,4,2))###创建一个三维数组 |
data.frame
由矩阵创建 x.df<-as.data.frame(x)
由向量创建 data<-data.frame(x,y,z)
如果创建的变量是字符串类型,R会自动转换成因子,可以用stringAsFactor=FALSE保持字符串类型
1 |
names(data)[2]<-'B' ###命名表头 |
操作data.frame中的值
data.frame并不是向量,而是一组向量列表。但是数据操作时可以当做矩阵来处理,访问单个变量时可以用$,访问多个变量时可以用[]
1 |
#########修改值 |
list
1 |
#######创建list |
提取列表中的元素
- 使用
[[]]返回元素本身 - 使用
[]返回选定元素的列表
1 |
#########修改元素值 |
array, matrix, list and dataframe的更多相关文章
- numpy中list array matrix比较
用python中的numpy包的时候不小心踩了array和matrix的大坑,又引申一下比较list array matrix之间的异同.数据结构(Data Structures)基本上人如其名——它 ...
- array / matrix subarray/submatrix sum
Maximal Subarray Sum : O(n) scan-and-update dynamic programming, https://en.wikipedia.org/wiki/Maxim ...
- Pramp mock interview (4th practice): Matrix Spiral Print
March 16, 2016 Problem statement:Given a 2D array (matrix) named M, print all items of M in a spiral ...
- C#+无unsafe的非托管大数组(large unmanaged array in c# without 'unsafe' keyword)
C#+无unsafe的非托管大数组(large unmanaged array in c# without 'unsafe' keyword) +BIT祝威+悄悄在此留下版了个权的信息说: C#申请一 ...
- C++_Eigen函数库用法笔记——The Array class and Coefficient-wise operations
The advantages of Array Addition and subtraction Array multiplication abs() & sqrt() Converting ...
- 【LeetCode】74. Search a 2D Matrix
Difficulty:medium More:[目录]LeetCode Java实现 Description Write an efficient algorithm that searches f ...
- Spark MLlib 之 大规模数据集的相似度计算原理探索
无论是ICF基于物品的协同过滤.UCF基于用户的协同过滤.基于内容的推荐,最基本的环节都是计算相似度.如果样本特征维度很高或者<user, item, score>的维度很大,都会导致无法 ...
- pandas 数据结构基础与转换
pandas 最常用的三种基本数据结构: 1.dataFrame: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Data ...
- pandas 之 特征工程
import numpy as np import pandas as pd So far(到目前为止) in this chapter we've been concerned with rearr ...
随机推荐
- java类为什么要实现Serializable接口
什么是Serializable接口? 一个对象序列化的接口.一个类只有实现了Serializable接口,它的对象才能被序列化. 什么是序列化? 将对象的状态信息转换为可以存储或传输的形式的过程. 在 ...
- Codeforces Round #556(Div.1)
A 容易发现i,i+1至少有一个数出现,于是可以让尽量多的2和奇数出现 #include<bits/stdc++.h> using namespace std; int n,s1,s2; ...
- CentOS7离线安装MySQL8.0
CentOS7离线安装MySQL8.0 卸载软件 rpm -e --nodeps 要卸载的软件包 root@jacky zookeeper]# rpm -e --nodeps java-1.6.0-o ...
- Git log 中文乱码
以下三条命令搞定(系统是centos 7.4) git config --global i18n.commitencoding utf-8 git config --global i18n.logo ...
- 编译原理_P1003
1. 语法分析 1.1 上下文无关文法的定义 ---- 正规式能定义一下简单的语言,能表示给定结构的固定次数的重复或者没有指定次数的重复 例如:a(ba)5,a(ba)* ---- 正规式不能用于描 ...
- Office 365 邮件流
进入Exchange管理中心->点击左侧的“邮件流”->进入邮件流配置页面. 一.规则 规则也称传输规则,对通过组织传递的邮件,根据设定条件进行匹配,并对其进行操作.传输规则与众多电子邮件 ...
- BeagleboneBlack上u-boot的MLO文件是哪里来的
在玩BeagleboneBlack一段时间之后不可避免地接触到了u-boot,之前的玩耍过程大致上是这样的: 在MATLAB下耍,因为MATLAB提供了它的硬件支持,可以直接在命令行与之交互,也可在s ...
- 线程中start与run方法的主要区别
区别一: 在于当程序调用start方法一个新线程将会被创建,并且在run方法中的代码将会在新线程上运行, 然而在你直接调用run方法的时候, ...
- cmd释放重新获取IP
1.打开电脑的命令提示符运行设置窗口之后,我们收入 ipconfig/release ,然后点击回车键 ,释放之前获取的IP地址 2.释放之前的IP地址之后,我们在输入 ipconfig/re ...
- ORs-2-Genome Coverage and the OR Subgenome
Genome Coverage and the OR Subgenome 因为: 爬行类动物的的gene numbers比较大,而birds 的 gene numbers 处于(182-688) 其中 ...