R语言 将行值转换为变量标签

bq9c1y66  于 2023-04-18  发布在  其他
关注(0)|答案(2)|浏览(237)

我有一个混乱的数据集,它是这样的:

Q1 <- "Age"
Q2 <- "Sex"
Q3 <- "Age"
Q4 <- "Race"
df <- data.frame(Q1,Q2,Q3,Q4)

如何将第1行的每个值转换为变量标签?即:变成这样

library(labelled)
var_label(df$Q1) <- "Age"
var_label(df$Q2) <- "Sex"
var_label(df$Q3) <- "Age"
var_label(df$Q4) <- "Race"

我有一个包含许多变量的大型数据集。有没有更快更有效的方法来做到这一点?我如何将第1行的每个值都转换为变量标签?
我会很感激所有的帮助!谢谢!!!

ycl3bljg

ycl3bljg1#

var_label可以将data.frame的向量作为输入,因此,我们可以使用

var_label(df) <- df[1, , drop = FALSE]
  • 输出
> str(df)
'data.frame':   1 obs. of  4 variables:
 $ Q1: chr "Age"
  ..- attr(*, "label")= chr "Age"
 $ Q2: chr "Sex"
  ..- attr(*, "label")= chr "Sex"
 $ Q3: chr "Age"
  ..- attr(*, "label")= chr "Age"
 $ Q4: chr "Race"
  ..- attr(*, "label")= chr "Race"
hmae6n7t

hmae6n7t2#

您可以使用第一行作为var标签,然后从 Dataframe 中删除第一行

var_label(df)=as.character(unlist(df[1,]))

df=df[-1,]

希望能有所帮助

相关问题