使用 r 自动选择 .csv 文件中的行和列
Selecting rows and columns within .csv file automatically using r
所以我为我的论文创建了一个数据库,我想比较不同情况下的物质以获得 P 值。为了做到这一点,我在 R 中创建了一个脚本,它不是自动的。我对如何使用 for
循环创建脚本来执行此操作非常感兴趣。我想 select 为每一行分组,也为每三列分组。
如果可行,请告诉我。提前致谢!
现在我就是这样做的。首先 select 第 1 行的前三个值,然后 select 第一行的下三个值,以便在下一步中比较它们。
row1_1 <- my_data[1, 2:4]
row1_2 <- my_data[1, 6:8]
下面将根据问题使用for循环遍历每一行
for (i in 1:nrow(my_data))
{
case1<- my_data[i, 2:4]
case2<- my_data[i, 6:8]
compare_cases <- t.test(case1, case2, alternative = "two.sided", var.equal = FALSE)
print(case1)
print(case2)
print(compare_cases)
}
根据评论修改了带有错误处理的变体
pvalues <- c()
for (i in 1:nrow(my_data))
{
case1<- my_data[i, 2:4]
case2<- my_data[i, 6:8]
pval <- NA
test <- tryCatch({ t.test(case1, case2, alternative = "two.sided", var.equal = FALSE) },
warning = function(war) { NA },
error = function(err) { NA },
finally = { })
print(paste0("Test for row i=",i))
print(test)
if (identical(test,NA)) pval <- NA
else pval <- test$p.value
pvalues <- c(pvalues,pval)
}
print("All my pvalues for all rows are:")
print(pvalues)
所以我为我的论文创建了一个数据库,我想比较不同情况下的物质以获得 P 值。为了做到这一点,我在 R 中创建了一个脚本,它不是自动的。我对如何使用 for
循环创建脚本来执行此操作非常感兴趣。我想 select 为每一行分组,也为每三列分组。
如果可行,请告诉我。提前致谢!
现在我就是这样做的。首先 select 第 1 行的前三个值,然后 select 第一行的下三个值,以便在下一步中比较它们。
row1_1 <- my_data[1, 2:4]
row1_2 <- my_data[1, 6:8]
下面将根据问题使用for循环遍历每一行
for (i in 1:nrow(my_data))
{
case1<- my_data[i, 2:4]
case2<- my_data[i, 6:8]
compare_cases <- t.test(case1, case2, alternative = "two.sided", var.equal = FALSE)
print(case1)
print(case2)
print(compare_cases)
}
根据评论修改了带有错误处理的变体
pvalues <- c()
for (i in 1:nrow(my_data))
{
case1<- my_data[i, 2:4]
case2<- my_data[i, 6:8]
pval <- NA
test <- tryCatch({ t.test(case1, case2, alternative = "two.sided", var.equal = FALSE) },
warning = function(war) { NA },
error = function(err) { NA },
finally = { })
print(paste0("Test for row i=",i))
print(test)
if (identical(test,NA)) pval <- NA
else pval <- test$p.value
pvalues <- c(pvalues,pval)
}
print("All my pvalues for all rows are:")
print(pvalues)