我是靠谱客的博主 虚拟蛋挞,最近开发中收集的这篇文章主要介绍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)

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

最后

以上就是虚拟蛋挞为你收集整理的R语言 实现list类型数据转换的全部内容,希望文章能够帮你解决R语言 实现list类型数据转换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(94)

评论列表共有 0 条评论

立即
投稿
返回
顶部