在R中自动将列数组转换为行数组的方法
在R中自动将列数组转换为行数组的方法
没问题,这其实是个很常见的需求,咱们用R自带的函数就能轻松搞定,完全不用手动复制粘贴。
首先,你手里的这个20×1的结构本质是一个列矩阵(带维度的数组),要转换成你想要的c(...)格式的一维向量表达式,只需要两步:
- 先把矩阵扁平化成为普通的一维向量
- 将这个向量输出为可直接复用的R代码
具体实现代码
假设你的列矩阵对象名叫x,直接运行下面的代码:
# 先定义你的列矩阵 x <- structure(c(1.98139389065475e-08, 3.96278778130931e-08, 7.92557556261902e-08, 1.58511511252372e-07, 3.17023022504761e-07, 6.3404604500949e-07, 1.26809209001904e-06, 2.53618418003796e-06, 5.07236836007617e-06, 1.01447367201518e-05, 2.02894734403047e-05, 4.05789468806074e-05, 8.11578937612187e-05, 0.00450692446282339, 0.0331829332673235, 0.0324267128112546, 0.536844723615457, 0.29007911330816, 0.0821356435493368, 0.0206616530120613), dim = c(20L, 1L), dimnames = list(NULL, "V1")) # 转换并输出目标格式 dput(as.vector(x))
代码解释
as.vector(x):会移除矩阵的维度属性,把列矩阵直接转换成一维向量(效果和c(x)完全一样,因为c()处理矩阵时会自动按列扁平化)dput():这个函数的核心作用就是把R对象转换成可直接复制复用的R代码格式,运行后控制台会直接输出你想要的c(...)形式内容,完美替代手动复制。
额外说明
如果只是想在R环境中把列数组转换成一维向量使用,直接运行as.vector(x)或者c(x)就可以得到目标向量,不需要dput();但如果需要输出成可粘贴的代码,dput()是最便捷的工具。
备注:内容来源于stack exchange,提问作者Mark
相关产品推荐
相关产品推荐

