R语言 实现list类型数据转换

例如:

> a=list(c('232','34'),c('good','bad'),c(1,5))
> a
[[1]]
[1] "232" "34" 

[[2]]
[1] "good" "bad" 

[[3]]
[1] 1 5
> names(a)=c('d','w','j')
> a
$d
[1] "232" "34" 

$w
[1] "good" "bad" 

$j
[1] 1 5

>

list数据类型取值用[[ ]],如:

> a[[1]]
[1] "232" "34"
> a[1]
$d
[1] "232" "34" 

>

现将list类型转换成常用的数据类型:

1、unlist

> unlist(a)
  d1   d2   w1   w2   j1   j2
 "232"  "34" "good" "bad"  "1"  "5"
> 

可通过列名取值。

2、do.call

可使用do.call(rbind,x)和do.call(cbind,x)函数转换成矩阵:

> do.call(rbind,a)
 [,1]  [,2]
d "232" "34"
w "good" "bad"
j "1"  "5"
> do.call(cbind,a)
   d   w   j
[1,] "232" "good" "1"
[2,] "34" "bad" "5"

补充:将list转换为numeric_R语言

1.场景:

从excel复制格式化后的数据到剪贴板,在R中使用read.table()读入剪贴板数据,

data = read.table('clipboard', header = F)

  V1
1 91
2 79
3 91
4 84
5 85
6 91
7 92
8 76
9 96
10 93

mode(data)
[1] "list"

由于data不是numeric,需要转为numeric才能继续进行分析,如果直接进行 hist(data),则报错,“Error in hist.default(data) : 'x'必需为数值”

2.使用unlist()将list转换为numeric

data = unlist(data)

 V11 V12 V13 V14 V15 V16 V17 V18 V19 V110 V111 V112 V113 V114 V115 V116 V117 V118 V119 V120 V121 V122
 91  79  91  84  85  91  92  76  96  93  90  93  76  87  89  98  82  89  91  87  87  90
V123 V124 V125 V126 V127 V128 V129 V130 V131 V132 V133 V134 V135 V136 V137 V138 V139 V140 V141 V142 V143 V144
 89  83  96  87  97  88  92  96  89  87  86  95  89  91  94  89  89  91  84  88  90  80
V145 V146 V147 V148 V149 V150 V151 V152 V153 V154 V155 V156 V157 V158 V159 V160 V161 V162 V163 V164 V165
 88  86  92  82  91  89  90  85  89  88  89  85  89  86  82  91  96  87  90  91  89

检查data的数据类型

mode(data)
[1] "numeric"

3. 对转换后的数据进行可视化

hist(data)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • 解决R语言 数据不平衡的问题

    R语言解决数据不平衡问题 一.项目环境 开发工具:RStudio R:3.5.2 相关包:dplyr.ROSE.DMwR 二.什么是数据不平衡?为什么要处理数据不平衡? 首先我们要知道的第一个问题就是"什么是数据不平衡",从字面意思上进行解释就是数据分布不均匀.在我们做有监督学习的时候,数据中有一个类的比例远大于其他类,或者有一个类的比值远小于其他类时,我们就可以认为这个数据存在数据不平衡问题. 那么这样的一个问题会对我们后续的分析工作带来怎样的影响呢?我举个简单的例子,或许大家就明白

  • R语言数据预处理操作——离散化(分箱)

    一.项目环境 开发工具:RStudio R:3.5.2 相关包:infotheo,discretization,smbinning,dplyr,sqldf 二.导入数据 # 这里我们使用的是鸢尾花数据集(iris) data(iris) head(iris) Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.

  • 利用R语言绘制时间序列图的操作

    数据 GDP.csv文件,存储1879~2019年河南省GDP数据 绘图 # 读取数据, 首先将excel 格式的转化为 csv 格式 再读取 h <- read.table(file = "C:/Users/PYY/Desktop/GDP.csv",sep = ",",header = T) # 转化为时间序列数据 GDP=ts(h$GDP,start = 1978,frequency = 1) # 绘图 plot(GDP) 补充:ts函数 ts() 函数:

  • 用R语言绘制函数曲线图

    函数曲线图是研究函数的重要工具. R 中 curve() 函数可以绘制函数的图像,代码格式如下: curve(expr, from = NULL, to = NULL, n = 101, add = FALSE, type = "l", xname = "x", xlab = xname, ylab = NULL, log = NULL, xlim = NULL, -) # S3 函数的方法 plot(x, y = 0, to = 1, from = y, xlim

  • R语言学习笔记之lm函数详解

    在使用lm函数做一元线性回归时,发现lm(y~x+1)和lm(y~x)的结果是一致的,一直没找到两者之间的区别,经过大神们的讨论和测试,才发现其中的差别,测试如下: ------------------------------------------------------------- ------------------------------------------------------------- 结果可以发现,两者的结果是一样的,并无区别,但是若改为lm(y~x-1)就能看出+1和

  • R语言时间序列中时间年、月、季、日的处理操作

    1.年 pt<-ts(p, freq = 1, start = 2011) 2.月 pt<-ts(p,frequency=12,start=c(2011,1)) frequency=12表示以月份为单位,start 表示时间开始点,start=c(2011,1) 表示从2011年1月开始 3.季度 pt <- ts(p, frequency = 4, start = c(2011, 1)) 4.天 pt<-ts(p,frequency=7,start=c(2011,1)) 用 ts

  • R语言验证及协方差的计算公式

    协方差的计算公式及R语言进行验证 首先附上协方差公式: 来设5个样本点:(3,9),(2,7),(4,12),(5,15),(6,17) 用R绘制出散点图,大概是这样: 要求这5个点的协方差,首先样本点为5个,n=5,X依次取3,2,4,5,6,Y依次取9,7,12,15,17.X的均值为4,带入公式可得: 不难计算出结果为6.5 现在用R语言进行验证: 已知R语言里边协方差函数为cov(x,y) 我们分别用cov()函数和上述公式来进行仿真结果,代码如下: a <- c(3,2,4,5,6)

  • R语言 实现list类型数据转换

    例如: > a=list(c('232','34'),c('good','bad'),c(1,5)) > a [[1]] [1] "232" "34" [[2]] [1] "good" "bad" [[3]] [1] 1 5 > names(a)=c('d','w','j') > a $d [1] "232" "34" $w [1] "good"

  • R语言基本对象类型知识点详解

    基本向量 包含单类型对象(例如整数,浮点数,复数,文本,逻辑值或者原始型数据)的向量 复合对象 包含一些列基本向量的数据结构,例如列表,配对列表,``S4对象或者环境. 这些对象的特性各不相同,但它们都包含一系列命名的对象 特殊对象 在R编程中服务于特定目的的对象,例如any,NULL和...等. 这类对象在特定的环境中具有十分重要的意义,但是无法创建一个属于该类型的对象 R语言 R代码,其被执行后可以返回其他对象 函数 R的引擎; 其以参数作为输入,同时返回一些对象作为输出 有时候,函数会修改

  • R语言中的因子类型详解

    一.Factor函数 #函数factor可以把一个向量编码为一个因子,其一般形式为: #factor(x,levels=sort(unique(x),na.last=TRUE),labels,exculde=NA,order=FALSE) #其中x是向量,levels是水平,可以自行指定各离散的取值,不指定时由x的不同值来表示,labels可以用来指定各水平的标签 #不指定时用各离散取值的对应字符串 sex<-c("M","F","M",&

  • R语言学习初识Rcpp类型List

    目录 当我们想将 Rcpp 中的多种类型的对象通过一个 return 函数返回时,此时就需要将我们的所有对象整理成一个 Rcpp::List 型,然后再进行返回. 但相比于 R 中的 list(mat1 = mat1, mat2 = mat2) ,Rcpp 中的列表创建就相对复杂一些,需要使用 create() 函数,如下面例子所示: Rcpp::List ListFun(MatrixXd X) { Eigen::MatrixXd mat1, mat2; return List::create(

  • R语言刷题检验数据缺失类型过程详解

    目录 题目 解答 下面考虑三种情况: 1. a = 0, b = 0 2. a = 2, b = 0 3. a = 0, b = 2 题目 解答 由于题目要求需要重复三次类似的操作,故首先载入所需要的包,构造生成数据的函数以及绘图的函数: library(tidyr) # 绘图所需 library(ggplot2) # 绘图所需 # 生成数据 GenerateData <- function(a = 0, b = 0, seed = 2018) { set.seed(seed) z1 <- r

  • R语言因子类型的实现

    目录 1.因子 2.table()函数 3.tapply()函数 4.forcats包的因子函数 1.因子 R 中用因子代表数据中分类变量 , 如性别.省份.职业.有序因子代表有序量度,如打分结果,疾病严重程度等. 用 factor() 函数把字符型向量转换成因子,如 x <- c(" 男", " 女", " 男", " 男", " 女") sex <- factor(x) sex 返回: at

  • R语言与格式,日期格式,格式转化的操作

    R语言的基础包中提供了两种类型的时间数据,一类是Date日期数据,它不包括时间和时区信息,另一类是POSIXct/POSIXlt类型数据,其中包括了日期.时间和时区信息. 基本总结如下: 日期data,存储的是天: 时间POSIXct 存储的是秒,POSIXlt 打散,年月日不同: 日期-时间=不可运算. 一般来讲,R语言中建立时序数据是通过字符型转化而来,但由于时序数据形式多样,而且R中存贮格式也是五花八门,例如Date/ts/xts/zoo/tis/fts等等.lubridate包(后续有介

  • R语言导入导出数据的几种方法汇总

    导出: 对于某一数据集导出文件的方法 导出例子:write.csv(data_1,file = "d:/1111111111.csv") 其中data_1是你的数据集,file是你的存储路径和要存储的名字 导入: 1  使用键盘输入数据 (1) 创建一个空数据框(或矩阵),其中变量名和变量的模式需与理想中的最终数据集一致: (2)针对这个数据对象调用文本编辑器,输入你的数据,并将结果保存回此数据对象中. 在下例中,你将创建一个名为mydata的数据框,它含有三个变量:age(数值型).

  • 大数据分析R语言RStudio使用超详细教程

    RStudio是用于R编程的开源工具.如果您对使用R编程感兴趣,则值得了解RStudio的功能.它是一种灵活的工具,可帮助您创建可读的分析,并将您的代码,图像,注释和图解保持在一起. 在此大数据分析R语言RStudio使用教程文章中,我们将介绍RStudio免费版本的一些最佳功能:RStudio Desktop.我们收集了一些RStudio的重要技巧,窍门和快捷方式,可快速将您变成RStudio高级用户! 1.在窗口窗格之间快速导航 RStudio窗格可让您访问有关项目的重要信息.知道如何在窗格

  • R语言判断语句的使用详解

    判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的). 下面是大多数编程语言中典型的判断结构的一般形式: R 语言提供了以下类型的判断语句: if 语句 if...else 语句 switch 语句 if 语句 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成. 语法格式如下: if(boolean_expression) { // 布尔表达式为真将执行的语句 } 如果布尔表达式 boolean_expression

随机推荐