gpt4 book ai didi

r - 更改 R 中的列标题,交替使用空格和名称(对于 genalex 格式)

转载 作者:行者123 更新时间:2023-12-03 23:07:21 25 4
gpt4 key购买 nike

我有一个名为 genalex 的数据框,因为我试图将我的遗传数据放入通用的“genalex”格式。我刚刚在 R 中使用了 strsplit 函数来拆分列,现在我有了这个:

> genalex[1:5,1:10]
Ind V1 V2 V3 V4 V5 V6 V7 V8 V9
1 100 A A C C N N C C N
2 101 A A C C N N N N N
3 10 A A C C N N C C N
4 11 A A N N N N C C N
5 12 N N N N N N C C G

这个数据框实际上有 330 行和 32,068 列。我想用新名称替换所有其他列(V1、V3、V5、V7、V9 等)的名称。我还想删除所有其他列名(V2、V4、V6、V8 等)

对于新的列名,我想在拆分列之前使用旧数据框中的列名。我将调用旧数据框 table。此数据框有 16,034 列,因为它不包括空格:

 table[1:5,1:5]
X X446043 X539052 X614054 X683054
1 100 A C N C
2 101 A C N N
3 10 A C N C
4 11 A N N C
5 12 N N N C

因此,使用 table 中的旧列名,然后在每列之间添加一个空格,我最终希望我的数据框看起来像这样,对于所有 32,068 列:

   > genalex[1:5,1:8]
Ind X446043 X539052 X614054 X683054
1 100 A A C C N N C
2 101 A A C C N N N
3 10 A A C C N N C
4 11 A A N N N N C
5 12 N N N N N N C

感谢您的帮助。

最佳答案

您可以使用seq 函数来获取奇数和偶数位置:

names(genalex)[seq(2,ncol(genalex),2)] <- names(table)
names(genalex)[seq(1,ncol(genalex),2)] <- ""
names(genalex)[1] <- "Ind"

第一行将所有偶数列索引 (2,4,6,...) 重命名为表中的列名,第二行将所有奇数列索引设置为空白。然后将第一列重命名为“Ind”。

关于r - 更改 R 中的列标题,交替使用空格和名称(对于 genalex 格式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34571706/

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