select 任何行作为数据框中的 header 行的最有效方法是什么?
what is the most efficient way to select any row as the header row in a data frame?
我有一个包含大约 561 列和大约 7300 行的数据框。现在的问题是我无法删除第一个 header 以 V1...V561 作为变量名称的行,而是将其切换到下面包含实际变量名称的行。我尝试了很多技术,因为我已经在这里浏览了很多堆栈帖子,但其中 none 似乎适用于我的情况。我什至试过 colnames(df) <- lapply(df[1,], as.character
但它似乎并没有真正起作用。此外,我可以使用另一种替代方法 names() 函数,但我不知道如何使用它来实现我的目的。
假设我有两个数据框,一个包含一列 561 个单元格,这些单元格将被转换为第二个数据框的变量名,其中 V1...V561 作为变量名。明白了吗?我需要替换数据框 1 中的那一列 561 个单元格,将它们转换到第二个数据框的顶部,这样我就可以获得实际的变量名称。有人告诉我使用 names() 函数,但我不太清楚确切的语法,因为我并没有真正使用过这个函数。
编辑
这里有一个更好的方式来描述需要做什么。
所以这是 df1,其中包含我需要放在 df2 的第一行的单个列。
df1
x
These
are
the
variables
df2
x y z x1
0 1 2 3
1 2 3 4
2 3 4 5
那得改成
df2
These are the variables
0 1 2 3
1 2 3 4
2 3 4 5
如果 df1
是您要重命名的数据,df2
有一个名为 row
的行包含您想要的名称,请尝试
names(df1) <- sapply(df2[row,], as.character)
as.character
因为字符串可能是因子。
编辑
刚刚注意到你说名字在一列中,所以如果有名字的列是 cols
names(df1) <- as.character(df2$cols)
我有一个包含大约 561 列和大约 7300 行的数据框。现在的问题是我无法删除第一个 header 以 V1...V561 作为变量名称的行,而是将其切换到下面包含实际变量名称的行。我尝试了很多技术,因为我已经在这里浏览了很多堆栈帖子,但其中 none 似乎适用于我的情况。我什至试过 colnames(df) <- lapply(df[1,], as.character
但它似乎并没有真正起作用。此外,我可以使用另一种替代方法 names() 函数,但我不知道如何使用它来实现我的目的。
假设我有两个数据框,一个包含一列 561 个单元格,这些单元格将被转换为第二个数据框的变量名,其中 V1...V561 作为变量名。明白了吗?我需要替换数据框 1 中的那一列 561 个单元格,将它们转换到第二个数据框的顶部,这样我就可以获得实际的变量名称。有人告诉我使用 names() 函数,但我不太清楚确切的语法,因为我并没有真正使用过这个函数。
编辑
这里有一个更好的方式来描述需要做什么。
所以这是 df1,其中包含我需要放在 df2 的第一行的单个列。
df1
x
These
are
the
variables
df2
x y z x1
0 1 2 3
1 2 3 4
2 3 4 5
那得改成
df2
These are the variables
0 1 2 3
1 2 3 4
2 3 4 5
如果 df1
是您要重命名的数据,df2
有一个名为 row
的行包含您想要的名称,请尝试
names(df1) <- sapply(df2[row,], as.character)
as.character
因为字符串可能是因子。
编辑
刚刚注意到你说名字在一列中,所以如果有名字的列是 cols
names(df1) <- as.character(df2$cols)