如何在 R 中对多列应用改进的曼肯德尔测试?

问题描述 投票:0回答:1

我想使用 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")

提前感谢您的任何指导和建议。如果可以使用任何其他编程语言,请推荐它。谢谢你。

r excel dataframe csv variables
1个回答
0
投票

您应该能够使用 lapply 来执行此操作。

lapply(df, mmky)

上面的代码将函数“mmky”应用于数据框“df”的所有列。要将其应用于列的子集,您可以这样做

lapply(df[c()], mmky)

在 c() 中,包含要应用函数“mmky”的所有列索引,以逗号分隔。例如,如果您想包含第 1、2、3 列,您可以这样做

lapply(df[c(1,2,3)], mmky)

确保您事先使用加载包

library(modifiedmk)
© www.soinside.com 2019 - 2024. All rights reserved.