gpt4 book ai didi

R 如何旋转具有不同长度类别的表(具有两列)?

转载 作者:行者123 更新时间:2023-12-05 01:25:00 25 4
gpt4 key购买 nike

我有一个表格,如下所示。我需要旋转它以便数据水平分布并将其存储在 sep = space 的 txt 文件中。但是由于每个类别的项目数量不同,我不确定哪种数据结构最适合使用。

我已经坚持了 3 天了。谁能好心帮助我吗?

非常感谢

data.frame(
name=c(9073050,9073050,9073050,9073050,9073050,9073050,9073050,9073050,9079078,9079078,9085376,9085376,9085376,9085376,9085376),
sequence=c(1,15, 1,10,1, 4, 16,7,18,19,22,14,23,14,24)
)
    name sequence
1 9073050 1
2 9073050 15
3 9073050 1
4 9073050 10
5 9073050 1
6 9073050 4
7 9073050 16
8 9073050 7
9 9079078 18
10 9079078 19
11 9085376 22
12 9085376 14
13 9085376 23
14 9085376 14
15 9085376 24
9073050       1      15       1      10       1       4      16       7
9079078 18 19
9085376 22 14 23 14 24

最佳答案

你可以像这样直接存储在一个.txt文件中

sink('Output.txt')
for (id in unique(df$name)){
seq <- df[which(df$name == id), 'sequence']
cat(id, seq, '\n')
}
sink()

Output.txt 看起来像这样:

9073050 1 15 1 10 1 4 16 7 
9079078 18 19
9085376 22 14 23 14 24

为了完整起见,如果您还想将其存储在 R 中,列表可能是最方便的数据结构:

lst <- list()
for (id in unique(df$name)){
seq <- df[which(df$name == id), 'sequence']
lst[[as.character(id)]] = seq
}

产生

> lst
$`9073050`
[1] 1 15 1 10 1 4 16 7

$`9079078`
[1] 18 19

$`9085376`
[1] 22 14 23 14 24

关于R 如何旋转具有不同长度类别的表(具有两列)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71007516/

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