矩阵

R语言:常用函数【转】

橙三吉。 提交于 2020-02-11 09:48:40
数据结构 一、数据管理 vector:向量 numeric:数值型向量 logical:逻辑型向量 character;字符型向量 list:列表 data.frame:数据框 c:连接为向量或列表 length:求长度 subset:求子集 seq,from:to,sequence:等差序列 rep:重复 NA:缺失值 NULL:空对象 sort,order,unique,rev:排序 unlist:展平列表 attr,attributes:对象属性 mode,typeof:对象存储模式与类型 names:对象的名字属性 二、字符串处理 character:字符型向量 nchar:字符数 substr:取子串 format,format C:把对象用格式转换为字符串 paste,strsplit:连接或拆分 charmatch,pmatch:字符串匹配 grep,sub,gsub:模式匹配与替换 三、复数 complex,Re,Im,Mod,Arg,Conj:复数函数 四、因子 factor:因子 codes:因子的编码 levels:因子的各水平的名字 nlevels:因子的水平个数 cut:把数值型对象分区间转换为因子 table:交叉频数表 split:按因子分组 aggregate:计算各数据子集的概括统计量 tapply:对“不规则”数组应用函数 数学相关计算 一、计算

R语言常用函数

元气小坏坏 提交于 2020-02-11 09:42:11
数据结构 一、数据管理 vector:向量 numeric:数值型向量 logical:逻辑型向量 character;字符型向量 list:列表 data.frame:数据框 c:连接为向量或列表 length:求长度 subset:求子集 seq,from:to,sequence:等差序列 rep:重复 NA:缺失值 NULL:空对象 sort,order,unique,rev:排序 unlist:展平列表 attr,attributes:对象属性 mode,typeof:对象存储模式与类型 names:对象的名字属性 二、字符串处理 character:字符型向量 nchar:字符数 substr:取子串 format,format C:把对象用格式转换为字符串 paste,strsplit:连接或拆分 charmatch,pmatch:字符串匹配 grep,sub,gsub:模式匹配与替换 三、复数 complex,Re,Im,Mod,Arg,Conj:复数函数 四、因子 factor:因子 codes:因子的编码 levels:因子的各水平的名字 nlevels:因子的水平个数 cut:把数值型对象分区间转换为因子 table:交叉频数表 split:按因子分组 aggregate:计算各数据子集的概括统计量 tapply:对“不规则”数组应用函数 数学相关计算 一、计算

R学习 第二篇:矩阵和数组

為{幸葍}努か 提交于 2020-02-11 09:40:10
向量是一维的,只有行这一个维度,没有其他维度。R可以创建更高维度的数据对象,例如,矩阵、数据框、数组,索引高维度的对象时,需要使用元素的下标。这些对象的下标都使用中括号[]和索引,第一个维度是row,第二个维度是column,维度依次增加,索引的格式是:var[row,column,,,]。数组是二维或多维(三维或多于三维),二维数组叫做矩阵。数组元素的类型是相同的,每个维度的元素数量是相同的。数据框是二维对象,每个数据列的数据类型是相同的,不同数据列的数据类型可以不同。 一,数组(array) R使用arrary()函数创建数组,该函数至少需要两个向量参数:数组的元素值(data)向量,和维度(dim)向量,第三个参数是可选的维度名(dimnames)向量。数据(data)参数是数组的所有元素值向量,维度参数(dim)指定各个维度的元素数量,维度名(dimnames)参数是可选的,用于指定各个维度的名称。 array(data = NA, dim = length(data), dimnames = NULL) 数组的维度是有顺序的,维度参数(dim)的第一个维度是row,第二个维度是column,第三个维度是high,以此类推,数组是按照维度的顺序把数据(data)参数的数据填充到数组中。 严格来说,数组(或矩阵)的长度和维度是固定的,因此不能增加或删除行或列,但可以通过为数组

R语言矩阵matrix函数

依然范特西╮ 提交于 2020-02-11 09:39:09
矩阵是元素布置成二维矩形布局的R对象。 它们包含相同原子类型的元素。尽管我们可以创建只包含字符或只逻辑值的矩阵,但是它们没有多大用处。我们使用的是在数学计算中含有数字元素矩阵。 使用 matrix()函数创建一个矩阵。 语法 R语言中创建矩阵的基本语法是: matrix(data, nrow, ncol, byrow, dimnames) 以下是所使用的参数的说明: data - 是这成为矩阵的数据元素输入向量。 nrow - 是要创建的行数。 ncol - 要被创建的列的数目。 byrow - 是一个合乎逻辑。如果为True,那么输入向量元素在安排的行。 dimname - 是分配给行和列名称。 示例 创建矩阵取向量的数量作为输入 # Elements are arranged sequentially by row. M <- matrix(c(3:14), nrow=4, byrow=TRUE) print(M) # Elements are arranged sequentially by column. N <- matrix(c(3:14), nrow=4, byrow=FALSE) print(N) # Define the column and row names. rownames = c("row1", "row2", "row3", "row4")

2 R语言数据处理基础及函数应用

两盒软妹~` 提交于 2020-02-11 09:25:42
2.1 基本计算 2.1.1 数据类型 在R语言中,一切皆对象。对象是可以赋值给变量的任何事物,包括常量、数据结构、函数、甚至图形。每个对象都有类。R语言是面向对象的,R能处理的对象(包括数据)统称为object,一个object都有它所归属的类(class),一个class至少有一个特征是这类数据所共有的。类又可以被继承,产生儿孙类。 R语言中所有的对象都有2个内在属性,即:类型和长度。类型是对象元素的基本种类,长度是对象中元素的个数。R语言最基本的数据类型有:数值型(numeric)、复数型(complex)、逻辑型(logical)、字符型(character)等,还有不常用的类型,例如函数或表达式。 数据类型组成了对象,主要有6种结构,包括:向量、因子、数组、矩阵、列表、数据框等。多样化的数据对象赋予R语言灵活的数据处理能力。相关内容简述如下,详细内容可查阅帮助文件或有关文献。 (1)向量 向量(vector)是R语言处理数据的最基本单位,即可以是一串数字,也可以是一个数字。向量(vector)是虚拟类,本身不指定数据的存储类型,但赋值后立即变为数值型(numeric)、逻辑型(logical)、字符型(character)等实际数据类型。向量必须保证它的所有元素具有数据类型。 通过函数getClass()查到向量(vector)所包含的数据类型多达21种。

java的数组

百般思念 提交于 2020-02-11 06:36:43
数组的定义: 概念:同一种类型的集合,其实数组是一个容器。 数组的好处: 可以自动给数组中的元素从0开始编号,方便操作这些元素。 一维数组 格式1: 元素类型 [ ] 数组名 = new 元素类型(元素个数或数组长度); eg: int [ ] arr = new int [5]; 格式2: 元素类型 [ ] 数组名 = new 元素类型[] (元素1,元素2,。。。。); eg: int [ ] arr = new int [ ] (35,7); int[ ] arr = {3,5,17}; 二维数组 二维数组需要用到多维数组,多维数组可以简单地理解为在数组中嵌套数组。 格式1:int[][] arr = new int[3][4]; 上面的代码相当于定义了一个3*4的二维数组,即二维数组的长度为3,二维数组中的每个元素又是一个长度为4的数组 格式2:int[][] arr = new int[3][]; 第二种方式和第一种类似,只是数组中每个元素的长度不确定 格式3:int[][] arr = {{1,2},{3,4,5,6},{7,8,9}}; 二维数组中定义了三个元素,这三个元素都是数组,分别为{1,2}、{3,4,5,6}、{7,8,9} 数组使用的前提 1.存入数组:前提:有剩余的长度 录入5个学生的成绩,求平均值 public class ArrayDemo {

讲讲矩阵与倍数

亡梦爱人 提交于 2020-02-11 06:30:35
对给定的一个数N,问求在1~N这个区间里有几个数x的倍数 简单,小学问题,直接N/x便是其个数 但是当问题来到矩阵里时,问求一个任意大的矩阵中共有几个点的横纵坐标的约数(不一定是最大约数)是x,(不过这里的横纵坐标是从1开始), 其实解法相似,(n/x) (n/x)即为个数。 好了,有了思想,下面便来一道例题练练手: 1<=n<=40000 问求给定一N N矩阵,问求矩阵中有几个点的横纵坐标的最大公约数为1 共有N*N个点 样例: 输入:4 输出:9 用f[n]表示公约数为n的有几个 反面求解 解题思路和上述我讲的差不多,不同在于要去重(因为kn的倍数也是n的倍数) 这里从反面求解,总数点-除1以外的被书店f[x]-重数=答案 代码如下: # include <iostream> using namespace std ; int ans ; int f [ 40001 ] = { 0 } ; int main ( ) { int n ; cin >> n ; ans = n * n ; if ( n == 1 ) //特判 { cout << 1 ; return 0 ; } for ( int i = n ; i >= 2 ; i -- ) { f [ i ] = ( n / i ) * ( n / i ) ; for ( int j = i * 2 ; j <= n ; j

“猜你喜欢”实现策略?

旧巷老猫 提交于 2020-02-11 04:21:27
有没有想过自己在亚马逊眼中你是什么样子?答案是:你是一个很大、很大的表格里一串很长的数字。这串数字描述了你所看过的每一样东西,你点击的每一个链接以 及你在亚马逊网站上买的每一件商品;表格里的其余部分则代表了其他数百万到亚马逊购物的人。你每次登陆网站,你的数字就会发生改变;在此期间,你在网站上 每动一下,这个数字就会跟着改变。这个信息又会反过来影响你在访问的每个页面上会看到什么,还有你会从亚马逊公司收到什么邮件和优惠信息。 许 多年来,推荐系统的开发者试过用各种各样的方法来采集和解析所有这些数据。最近这段时间,多数人都选择使用被称为个性化协同推荐 (Personalized Collaborative Recommender)的算法。这也是亚马逊、Netflix、Facebook 的好友推荐,以及一家英国流行音乐网站 Last.fm 的核心算法。说它 “个性化”,是因为这种算法会追踪用户的每一个行为(如浏览过的页面、订单记录和商品评分),以此进行推荐;它们可不是瞎猫碰上死耗子——全凭运气。说它 “协同”,则是因为这种算法会根据许多其他的顾客也购买了这些商品或者对其显示出好感,而将两样物品视为彼此关联,它不是通过分析商品特征或者关键词来进 行判断的。 不同类型的个性化协同推荐系统最晚从 1992 年开始便已经出现。除了 GroupLens 计划,另一项早期的推荐系统是 MIT 的

cf1200 D White Lines(二维差分)

我的梦境 提交于 2020-02-11 01:32:29
题目大意 有一个大小为n的矩阵,每个1*1的单位为黑或白,我们可以用一个(只有一个)大小为k*k的白色矩阵覆盖,问:最多的时候有几条白线(横的全为白 或竖的全为白 即为白线)。 思路 要想把一条线(以横的为例)全变为白的,那么我们就需要从这一行最左边的黑色块覆盖到最右边的黑色块,如果两端距离超过k,则无法覆盖,否则就一定可以。那么就一定会产生一个矩阵,选取这个矩阵里面的任何一个点 都可以将这行变为白线;反之,矩阵外的一定不行。所以,可以用差分数组,因为只要选了矩阵里的点,答案就一定就加一。然后二维前缀和,最后max取答案。 代码 #include <stdio.h> #include <queue> #include <string> #include <string.h> #include <algorithm> #include <math.h> using namespace std; typedef long long int ll; const int maxn = 2e3 + 10; const ll inf = 0x3f3f3f3f; int res[maxn][maxn]; char mp[maxn][maxn]; int main() { int n,k,ans,anss; while(scanf("%d%d",&n,&k) != EOF){ for(int i

C语言二维数组作为函数参数

自闭症网瘾萝莉.ら 提交于 2020-02-10 19:29:37
设有整型二维数组a[3][4]如下: 0 1 2 3 4 5 6 7 8 9 10 11 它的定义为: int a[3][4]={{0,1,2,3},{4,5,6,7},{8,9,10,11}} 设数组a的首地址为1000,各下标变量的首地址及其值如图所示。 前面介绍过,C语言允许把一个二维数组分解为多个一维数组来处理。因此数组a可分解为三个一维数组,即a[0]、a[1]、a[2]。每一个一维数组又含有四个元素。 例如a[0]数组,含有a[0][0],a[0][1],a[0][2],a[0][3]四个元素。 更多的见: http://c.biancheng.net/cpp/html/79.html 数组及数组元素的地址表示如下:从二维数组的角度来看,a是二维数组名,a代表整个二维数组的首地址,也是二维数组0行的首地址,等于1000。a+1代表第一行的首地址,等于1008。如图: int array[3][3]; array的类型既不是int ** 更不是(int *a)[4] 而是int [3][3] 只是作为右值时才转换成 int (*a)[4] a是指向一个有4个元素的数组的指针,事实上这个a此时指向a[0],指向数组,就是说a里保存着数组的地址,就是1000 指针数组与数组指针 指针数组: array of pointers ,即用于存储指针的数组,也就是数组元素都是指针