r - 将不同大小的行变成列

标签 r math transform

我正在读取一个包含许多不同行的数据文件,所有行都可以有不同的长度,如下所示:

dataFile <- read.table("file.txt", as.is=TRUE);

行可以如下所示:

1 5 2 6 2 1
2 6 24
2 6 1 5 2 7 982 24 6
25 2

我需要将行转换为列。然后我将使用 fiddle 图的列,如下所示:

names(dataCol)[1] <- "x";
jpeg("violinplot.jpg", width = 1000, height = 1000);
do.call(vioplot,c(dataCol,))
dev.off()

我假设条目数少于条目数最多的列的任何列都会有一个空字符串/占位符。怎么办?

最佳答案

read.table中使用fill = TRUE参数。然后要将行更改为列,请使用 t 进行转置。使用您的数据,这看起来像......

df <- read.table( text = "1 5 2 6 2 1
2 6 24
2 6 1 5 2 7 982 24 6
25 2
" , header = FALSE , fill = TRUE )

df
#  V1 V2 V3 V4 V5 V6  V7 V8 V9
#1  1  5  2  6  2  1  NA NA NA
#2  2  6 24 NA NA NA  NA NA NA
#3  2  6  1  5  2  7 982 24  6
#4 25  2 NA NA NA NA  NA NA NA

t(df)
#   [,1] [,2] [,3] [,4]
#V1    1    2    2   25
#V2    5    6    6    2
#V3    2   24    1   NA
#V4    6   NA    5   NA
#V5    2   NA    2   NA
#V6    1   NA    7   NA
#V7   NA   NA  982   NA
#V8   NA   NA   24   NA
#V9   NA   NA    6   NA

关于r - 将不同大小的行变成列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17710462/

相关文章:

JavaScript - Math.random() - 参数

CSS3 变换属性在 Internet Explorer 中的工作方式不同

excel - 无法使换行符在 XSLT 到 Excel 中工作

r - 通过距源的距离进行空间聚类的定向测试

r - 将字符串转换为向量

c++ - 计算两个角度区间的交集

math - 基于两个向量创建旋转矩阵

html - 为什么 "z-index"不适用于具有转换 : translateY() 的元素

r - 在 R 中启动 h2o.init() 时出错

R - 神经网络集成?