温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-03-12 17:20:07 来源:亿速云 阅读:3431 作者:TREX 栏目:开发技术

这篇文章主要介绍“R语言如何实现list类型数据转换”,在日常操作中,相信很多人在R语言如何实现list类型数据转换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”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类型数据转换”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI