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

更改R中的列标题,交替使用空格和名称(适用于genalex格式),r,replace,dataframe,names,strsplit,R,Replace,Dataframe,Names,Strsplit,我有一个名为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

我有一个名为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行和32068列。我想用新名称替换其他每一列(V1、V3、V5、V7、V9等)的名称。我还想删除所有其他列名(V2、V4、V6、V8等)

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

 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
因此,使用
表中的旧列名
,然后在每列之间添加一个空格,我最终希望我的数据帧看起来像这样,适用于所有32068列:

   > 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"

names(genalex)[seq(2,ncol(genalex),2)]谢谢;为了清楚起见,小数被用作空格的占位符?在R?@user3545679:decimals中,这些仍然被视为空白?我不明白你的问题。我没有在“空白”列中用空格,而是用小数点作为标题。当我尝试添加NA而不是空格时,使用以下代码:names(genalex)[seq(1,ncol(genalex),2)]我不确定为什么会发生这种情况。尝试将所有列设置为“”:
名称(genalex)