我想使用 Rstudio 在一次运行中对多列应用修改后的曼肯德尔测试,并将每列的结果(即 p 值、tau、sen 斜率等)保存在单独的数据帧/csv 中。我使用的脚本一次仅适用于一列。我有巨大的数据集。单独运行每一列的代码将花费时间。给出了虚拟数据供您参考。
年份 | A | B | C | D |
---|---|---|---|---|
2000 | 2 | 4 | 5 | 1 |
2001 | 3 | 2 | 1 | 5 |
2002 | 4 | 6 | 1 | 8 |
2003 | 7 | 2 | 9 | 3 |
2004年 | 5 | 3 | 6 | 1 |
2005 | 7 | 3 | 9 | 3 |
2006年 | 1 | 7 | 9 | 5 |
2007年 | 1 | 6 | 3 | 9 |
2008 | 7 | 3 | 5 | 8 |
2009 | 1 | 6 | 4 | 3 |
2010 | 5 | 7 | 3 | 8 |
我正在使用以下脚本:
library(modifiedmk)
setwd('D:/Newfolder/mktest')
df <- read.csv("mktest.csv")
result <- mmky(df$A)
write.csv(result, "result.csv")
提前感谢您的任何指导和建议。如果可以使用任何其他编程语言,请推荐它。谢谢你。
您应该能够使用 lapply 来执行此操作。
lapply(df, mmky)
上面的代码将函数“mmky”应用于数据框“df”的所有列。要将其应用于列的子集,您可以这样做
lapply(df[c()], mmky)
在 c() 中,包含要应用函数“mmky”的所有列索引,以逗号分隔。例如,如果您想包含第 1、2、3 列,您可以这样做
lapply(df[c(1,2,3)], mmky)
确保您事先使用加载包
library(modifiedmk)