[英]Same process in different data frames with R
我想知道是否可以在 R 中的不同數據幀中執行相同的過程,例如:我有 5 個不同的數據幀,我想在每個數據幀中執行下一個過程:
行名(x1) <- x1$Var1
x1.t <- as.data.frame(t(as.matrix(x1)))
x1.corr <- cor(x1.t, method = "spearman")
我不想有很多代碼,我認為可以用函數和循環來完成,但我不確定具體如何。
非常感謝,任何建議或材料將不勝感激。
要調用該函數,您可以使用result <- myfun(my_data_frame)
。 結果將在一個列表中,您可以使用result[[1]]
或result[[2]]
從中選擇元素。
myfun <- function(x1) {
result.list <- list()
rownames(x1) <- x1$Var1
result.list[[1]] <- as.data.frame(t(as.matrix(x1)))
names(result.list)[1] <- "x1.t"
result.list[[2]] <- cor(x1.t, method = "spearman")
names(result.list)[2] <- "x1.corr"
result.list
}
您必須使用lapply
功能。 假設您有 5 個數據幀df1 、 df2 、 df3 、 df4和df5 ,試試這個:
# Create a list of df's
df_list <- list(df1,df2,df3,df4,df5)
# Create a fuction with the process you want
process <- function(x1){
rownames(x1) <- x1$Var1
x1.t <- as.data.frame(t(as.matrix(x1)))
x1.corr <- cor(x1.t, method = "spearman")
return(x1.corr)
}
# Apply lapply function
lapply(df_list,process)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.