[英]Loop through dataframe variables in R
我有幾個只有幾個彼此不同的變量的數據框。 通常它們是相同的。 我想在循環中准備變量,因此不必為我的所有數據幀分別指定每個變量。 但是,我遇到了一些問題。
clist <- c("data", "data_error", "data_RT")
我首先列出了數據框的名稱
for (i in clist) {
i$ID <- as.factor(i$ID)
i$TMS <- as.factor(i$TMS)
i$bias<- as.numeric(i$bias)
... }
我嘗試遍歷要准備的所有變量。 但是,這是不可能的,並且我收到一條錯誤消息:
Error in i$ID : $ operator is invalid for atomic vectors
我嘗試使用google尋求幫助,但是我不理解它的解釋:(您能幫助我了解我在做什么錯以及如何解決嗎?
您可以使用數據框列表代替名稱向量:
clist <- list(data, data_error, data_RT)
然后遍歷列表:
for (i in 1:length(clist)) {
clist[[i]]$ID <- as.factor(clist[[i]]$ID)
clist[[i]]$TMS <- as.factor(clist[[i]]$TMS)
clist[[i]]$bias<- as.numeric(clist[[i]]$bias)
... }
之后,您可以使用
list2env(clist,globalenv())
將數據框放回全局環境中。 我建議您將它們放在列表中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.