所以我試圖找出是否在約20幀數據的列名是相同的。這20個數據幀保存在列表中(Portfolio_snapshots)。我使用的代碼如下 更新:添加minimumm重複的例子,lapply找到,如果各種dataframes的列名是相同的
DF1<- data.frame(v1=rnorm(10),v2=LETTERS[1:5])
DF2<- data.frame(v1=rnorm(10),v2=LETTERS[1:5])
DF3<- data.frame(v1=rnorm(10),v3=LETTERS[1:5])
Portfolio_snapshots = list(DF1,DF2,DF3)
Df_names <- lapply(Portfolio_snapshots, function(x) {
names(as.data.table(x))})
lapply(Df_names,function(x) {all.equal((Df_names[1]),(x))})
,這並不產生正確的結果。代碼理想情況下應該爲前兩個產生一個TRUE,爲下一個產生一個FALSE。此外,如果有任何的方式來顯示它在哪裏出現不匹配的列名,那麼這將是一個額外的好處。
你的問題可能是? – amonk
嘗試包裝'all.equal'用'isTRUE'如果你只想要一個TRUE/FALSE答案 –
我想這lapply(Df_names,函數(X){IsTrue運算(all.equal((Df_names [1]),(X) ))}),然而,它顯示了所有20個比較的FALSE,而至少應第一個應該是TRUE,因爲它比較Df_names [1]到自身。 – ashleych