我有限的心智能力意味着我真的很努力地在R中執行以下任務,任何建議都會被感激地接收!計算多個數據框和商店內多列的模式
我有100個數據框當前存儲爲列表(my.dfs)。在每個數據框中有六列(a,b,c,d,e,f)。行號在數據幀(80-150)之間變化,但我認爲這是不相關的。所有列都是數字。
我想計算數據框1中的列a,然後數據框2,3,4 ...到數據框100的模式,並將結果存儲在新的矢量(a.mode)中。所以a.mode應該有100個模式值,每個來自一個數據幀。然後我想對b,c,d,e,f這兩個可以有自己的向量的列(b.mode,c.mode等)重複這一點。
我的問題是R中的計算模式似乎並不簡單。我用的是包(modeest)和命令:
mlv(column.here, method="mfv")
所以我的代碼目前看起來是這樣的:
library(modeest)
my.dfs
a.mode<-NULL
for(j in my.dfs){
a.mode<-c(a.mode, mlv(j[,"column.a"], method="mfv"))
}
然而,這給人的產出是不正確的雜亂。
同樣地,我曾嘗試:
for(j in my.dfs){
a.mode<-c(a.mode, mlv(j$column.a, method="mfv"))
}
但我得到的錯誤命令:
Error in j$column.a : $ operator is invalid for atomic vectors
我人還試圖使我的列表分爲100個獨立dataframes,看是否運行在單獨的dataframes循環會更有效。但是,我沒有超出分離我的清單到100個dataframes:
t<-1:100
for (q in 1:length(t)){
assign(paste("metric.data", t[q], sep=""), data.frame(subset(my.dfs[[q]])))
}
我不知道我怎麼可能還運行在所有100個dataframes計算模式column.a每個數據幀和商店內的循環他們在一個向量(a.mode)中,然後像上面描述的那樣對column.b,column.c等進行重複。
任何想法和代碼將是非常美妙