我列出了矢量中的所有数据框,并通过从矢量(list_all)调用数据框对数据框执行不同的操作。我正在尝试使用第一行将colname分配给每个数据帧。如何在R环境中为其第一行中的多个数据框指定名称
#table_1
V1 V2 V3 V4 V5
1: caffeine ACHE Adora1 ADORA1 Adora2a
2: 7.25- 7.25 15.00- 44.00 44.00- 49.00 9.40- 48.10
#table_2
V1 V2
1: paraxanthine daf-12
2: NA
#table_3
V1 V2 V3 V4
1: theophylline Adora1 ADORA1 Adora2a
2: 0.70- 26.00 0.00- 20.00 1.31- 25.30
list_all <- c("table_1","table_2","table_3") # this list was derived from previous code of 60 lines
n_drugs <- 3
drug_names <- c("caffeine","paraxanthine","theophylline")
output_final <- matrix(ncol=n_drugs , nrow=1)
for (t in 1:length(list_all)){
output_final[t] <- paste(drug_names[t],"output_final", sep = "_")
names_all <- c()
names_all[t,] <- unlist(c(as.character(get(noquote(list_all[t]))[1,]))) #saving colnames in 'names_all'
names_all[t,1] <- c("drug_name") # change first column name
assign(output_final[t],setnames(get(noquote(list_all[t])),colnames(get(noquote(list_all[t]))),names_all[t,]))
}
当我通过线运行此行代码它的工作原理,但是当我做funtion和运行funtion我收到错误
“错误GET(noquote(list_all [T])):对象'没有找到“。帮我走出
colnames显示您的数据框的第一行了,通常,你应该做的东西像征'读.csv(...,header = TRUE)',当你第一次读取你的数据时,在这个阶段修复比在这里试图做的任何事情都容易得多。 – Marius
请提供不起作用的代码 – HubertL
看起来好像你正在尝试某种在其他编程语言中有意义的东西,但不一定是R ......关于你想要做什么的更多细节将有所帮助 – Rilcon42