如何在for循环中使用object命名数据框?

m3eecexj  于 2023-01-06  发布在  其他
关注(0)|答案(1)|浏览(168)

我有一个包含实验室测试列表的对象,根据对象的长度,我创建了一个处理脚本的FOR循环。在每个循环中,R应该在该对象中使用列表创建一个 Dataframe 。请参见下文。

adlb <- data.frame(subjid = c(1:20), aval = c(100:119))
adlb$paramcd <- ifelse(adlb$subjid <= 10, "ALT", "AST")
lab_list <- unique(filter(adlb, !is.na(aval))$paramcd)
for (i in 1:length(lab_list))
{
  lab_name <- unlist(lab_list)[[i]]
  print(lab_name)`

  **???** <- adlb %>% 
  dplyr::filter(paramcd == lab_name) %>% 
  drop_na(aval) 
}

当我运行它时,它应该首先创建名为ALT的数据框,然后是AST。我应该用什么来替换??????我喜欢这种方式的唯一原因是因为它有助于我在需要时检查有问题的数据和调试脚本。
先谢谢你。
我尝试了lab_name i和其他几个选项,但结果是 Dataframe 名称错误或不正确。

carvr3hs

carvr3hs1#

我想这可能会有帮助:

# example dataframes
df1 <- iris
df2 <- mtcars
df3 <- iris
#put them into list
mylist <- list(df1,df2,df3)
#give names to list 
names(mylist) <- c("df_name1","df_name2","df_name3")

#put dataframes into global env
list2env(mylist ,.GlobalEnv)

相关问题