0、可以说R语言中一切结构体的基础是vector!

R中一切都是vector,vecotor的每个component必须类型一致(character,numeric,integer....)!
vector 是没有dimensions的也没有attributes,所以去掉dimension和attributes就成了vector(其实dimension可以作为attributes的一个属性存在但是named** 命名**一般不会作为attributes的属性的)
解释下

0.1为何没有dimensions?

------这里其实纠正我一个观点:我一直以一个点是有维度的,但其实点是标量

What I don't understand is why vectors (with more than one value) don't
have dimensions. They look like they do have 1 dimension. For me no
dimension 没有dimension就是标量,比如一个点就是标量. Like in geometry: a point has no dimension,
a line has 1, a square has 2, a cube 3 and so on. Is it because of some
internal process? The intuitive geometry way of thinking is not
programmatically relevant?

0.2、没有attributes,如果加了attributes怎么样?

factors是character data,但是要编码成 numeric mode,每个number 关联一个指定的string,称为levels。比如

 > fac<- factor(c("b", "a", "b"))
> dput(fac)
structure(c(2L, 1L, 2L), .Label = c("a", "b"), class = "factor")
> levels(fac)
[] "a" "b"
> fac
[] b a b
Levels: a b
> as.numeric(fac)
[]
factor组成: integer vector+ levels attributes

1、arrary和vecotr的转换

if we remove dimension part array just a vector----array去掉属性dimension就是vector

>nota=array(:,)//只有一个dimension 的array
>dim(not1)<-NULL
>dput(nota)
:
>is.array(nota)
>is.vector(nota)

2、array和matrix的转换

arrays are matrices with more than 2 dimensions.<==>matrices are arrays with only 2 dimensions
Arrays can have any number of dimensions including 1, 2, 3, etc.
比如只有一个维度的array nota=array(1:4,4)

3、list和vecotor的转换a list with no attributes is a vecotor,所以如下没有设置属性的list是vector 的

> vl<- list(sin, , "a")
> is.vector(vl)
[] TRUE
> class(vl)
[] "list"
> attributes(vl)
NULL
注意names 不是属性的,所以namedlist依旧是vector
> my.list <- list(num=:, let=LETTERS[:])
> names(my.list)
[] "num" "let"
> is.vector(my.list)
[] TRUE

R中一切都是vector的更多相关文章

  1. 简单介绍一下R中的几种统计分布及常用模型

    统计学上分布有很多,在R中基本都有描述.因能力有限,我们就挑选几个常用的.比较重要的简单介绍一下每种分布的定义,公式,以及在R中的展示. 统计分布每一种分布有四个函数:d――density(密度函数) ...

  2. 关于R中的mode()和class()的区别

    本文原创,转载请注明出处,本人Q1273314690(交流学习) 说明:本文曾经在15年11月在CSDN发过,但是由于CSDN不支持为知笔记的发布为博客的API功能,所以,自今天起,转移到博客园(幸好 ...

  3. 在 R 中估计 GARCH 参数存在的问题(基于 rugarch 包)

    目录 在 R 中估计 GARCH 参数存在的问题(基于 rugarch 包) 导论 rugarch 简介 指定一个 \(\text{GARCH}(1, 1)\) 模型 模拟一个 GARCH 过程 拟合 ...

  4. R语言编程艺术(2)R中的数据结构

    本文对应<R语言编程艺术>第2章:向量:第3章:矩阵和数组:第4章:列表:第5章:数据框:第6章:因子和表 ======================================== ...

  5. (2)R中的数据类型和数据结构

    R中的数据结构主要面向<线性代数>中的一些概念,如向量.矩阵等.值得注意的是,R中其实没有简单数据(数值型.逻辑型.字符型等),对于简单类型会自动看做长度为1的向量.比如: > b= ...

  6. 机器学习:形如抛物线的散点图在python和R中的非线性回归拟合方法

    对于样本数据的散点图形如函数y=ax2+bx+c的图像的数据, 在python中的拟合过程为: ##最小二乘法 import numpy as np import scipy as sp import ...

  7. ML(4): NavieBayes在R中的应用

    朴素贝叶斯方法是一种使用先验概率去计算后验概率的方法, 具体见上一节. 算法包:e1071 函数:navieBayes(formule,data,laplace=0,...,subset,na.act ...

  8. 在 R 中估计 GARCH 参数存在的问题(续)

    目录 在 R 中估计 GARCH 参数存在的问题(续) rugarch 包的使用 简单实验 rugarch 参数估计的行为 极端大样本 结论 在 R 中估计 GARCH 参数存在的问题(续) 本文承接 ...

  9. 在 R 中估计 GARCH 参数存在的问题

    目录 在 R 中估计 GARCH 参数存在的问题 GARCH 模型基础 估计 GARCH 参数 fGarch 参数估计的行为 结论 译后记 在 R 中估计 GARCH 参数存在的问题 本文翻译自< ...

随机推荐

  1. R语言:用简单的文本处理方法优化我们的读书体验

    博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html 前言 延续之前的用R语言读琅琊榜小说,继续讲一下利用R语言做一些简单的文本处理.分词的事情.其实 ...

  2. 使用Entity Framework通过code first方式创建数据库和数据表

    开发环境 WIN10 Entity Framework6.0  MVC5.0  开发工具 VS2015  SqlServer2012 1.创建上下文Context继承DbContext,并创建其他的业 ...

  3. Android--UI之Spinner

    前言 最近一直在讲AndroidUI的开发,今天讲一下Spinner控件,这是一个列表选择框,可以弹出一个列表供用户选择.在本片博客中,会讲解Spinner的基本属性以及设置之后的效果,以及使用Sim ...

  4. phpstorm的使用教程

    1.设置行号:file->settings->Editor->Appearance->Show line numbers 2.设置字体和背景 :file->setting ...

  5. IDA插件栈字符串识别插件

    该插件是一款可以自动识别栈上局部变量为字符串的插件,字符串形式如下,并自动的加上注释                                       如图:可以自动识别栈上的字符串 项目主 ...

  6. Func与Action

    平时我们如果要用到委托一般都是先声明一个委托类型,比如: private delegate string Say(); string说明适用于这个委托的方法的返回类型是string类型,委托名Say后 ...

  7. Linux pthread

    #include <stdio.h> #include <stdlib.h> #include <string.h> #include <pthread.h& ...

  8. [Linux]使用PHP编写Gearman的Worker守护进程

    在我之前的文章中,介绍过Gearman的使用.在我的项目中,我使用了PHP来编写一直运行的Worker.如果按照Gearman官方推荐的例子,只是简单的一个循环来等待任务,会有一些问题,包括:1.当代 ...

  9. socket通信之eofexception

    方案一: 用read()将不会抛出异常.因为read是block方式的. readInt()抛出异常的原因(我遇到的)是对方在该端口没有消息发送. 方案二: socket的端口被阻塞了 ,也就是我们需 ...

  10. HBASE列族不能太多的真相 (一个table有几个列族就有几个 Store)

    HRegionServer内部管理了一系列HRegion对象,每个HRegion对 应了table中的一个region,HRegion中由多 个HStore组成.每个HStore对应了Table中的一 ...