使用R自动选择.csv文件中的行和列

时间:2019-03-02 17:17:20

标签: r dataframe compare p-value

因此,我为自己的论文创建了一个数据库,我想比较不同情况下的物质以获取P值。为此,我在R中创建了一个脚本,它不是自动执行的。我对如何创建一个使用for循环为我执行此操作的脚本非常感兴趣。我想为每行以及每三列选择组。

enter image description here

请告诉我是否可行。预先感谢!

现在我正在这样做。首先选择第1行的前三个值,然后在第一行中选择下三个值,以便在下一步进行比较。

row1_1 <- my_data[1, 2:4]
row1_2 <- my_data[1, 6:8]

1 个答案:

答案 0 :(得分:0)

下面将根据问题使用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)