Автоматический выбор строк и столбцов в файле .csv с помощью r - PullRequest
0 голосов
/ 02 марта 2019

Итак, я создал базу данных для своей диссертации и хочу сравнить вещества в разных ситуациях, чтобы получить P-значение.Чтобы сделать это, я создал скрипт на R, который вроде не автоматически.Мне очень интересно, как я могу создать скрипт, который делает это для моего использования цикла for.Я хочу выбрать группы для каждой строки, а также каждые три столбца.

enter image description here

Пожалуйста, дайте мне знать, если это возможно.Заранее спасибо!

Прямо сейчас я делаю это так.Сначала выберите в строке 1 первые три значения, а затем выберите следующие три значения в первой строке, чтобы сравнить их на следующем шаге.

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

1 Ответ

0 голосов
/ 02 марта 2019

Следующее будет использовать цикл 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...