gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 04:57:36 25 4
gpt4 key购买 nike

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

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com