【发布时间】:2015-02-18 06:11:35
【问题描述】:
在此示例中,我有来自 50 个不同站点的温度值,我想将 Site1 与所有 50 个站点相关联。但我只想提取函数 "p.value" 和 "estimate" 生成的组件 "estimate"将 data.frame 中的 strong>cor.test() 分成两个不同的列。
我已经尝试过了,它有效,但我不知道如何! 出于这个原因,我想知道如何简化我的代码,因为问题是我必须运行两次循环“for”才能得到我的结果。
这是我的例子:
# Temperature data
data <- matrix(rnorm(500, 10:30, sd=5), nrow = 100, ncol = 50, byrow = TRUE,
dimnames = list(c(paste("Year", 1:100)),
c(paste("Site", 1:50))) )
# Empty data.frame
df <- data.frame(label=paste("Site", 1:50), Estimate="", P.value="")
# Extraction
for (i in 1:50) {
df1 <- cor.test(data[,1], data[,i] )
df[,2:3] <- df1[c("estimate", "p.value")]
}
for (i in 1:50) {
df1 <- cor.test(data[,1], data[,i] )
df[i,2:3] <- df1[c("estimate", "p.value")]
}
df
非常感谢您的帮助:)
【问题讨论】: