簡體   English   中英

循環瀏覽R中的數據框變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM