从数据帧中提取变量值的函数



我有R data.frame包含变量名和变量值。我正在编写一个函数来提取每个变量_name并分配相应的Variable_values并将其保存在内存中以供以后使用。然而,我不断得到错误信息,如"错误在as.name(df) <- df[I, 2]:无法找到函数"as.name<-"你能帮帮我吗?

的例子:df <- data.frame(name=c("Jane", "Bush","Bob", "Job"), age=c(12 , 34, 20, 50))

我想给每个名字分配相应的年龄,就像这样。

Jane <- 12 Bush <- 34 Bob <- 20 Job <- 50

下面是我开始的代码:

splitobs <- function(df){
for(i in 1:nrow(df)){
noquote(as.name(df[i, 1]) <- df[i, 2]
print()
   }
}
splitobs(df)enter code here

我们将'age'的名称设置为'name',转换为list并使用list2env在全局环境中创建多个对象(尽管不推荐)。

 list2env(as.list(setNames(df$age, df$name)), envir=.GlobalEnv)
 Jane
 #[1] 12

或者在for循环中使用assign

for(i in 1:nrow(df)){
 assign(as.character(df$name[i]), df$age[i])
}

最新更新