这篇文章主要介绍了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类型数据转换
基础教程推荐
猜你喜欢
- UEFI开发基础HII代码示例 2023-07-07
- swift 字符串String的使用方法 2023-07-05
- ruby-on-rails-使用Nginx的Rails的多阶段环境 2023-09-21
- swift版webview加载网页进度条效果 2023-07-05
- Go web部署报错panic: listen tcp xxxxxxx:8090: bind: cannot assign requested address 2023-09-05
- asm基础——汇编指令之in/out指令 2023-07-06
- R包ggtreeExtra绘制进化树 2022-12-14
- R语言-如何将科学计数法表示的数字转化为文本 2022-11-23
- R语言基于Keras的MLP神经网络及环境搭建 2022-12-10
- R语言数可视化Split violin plot小提琴图绘制方法 2022-12-10