Скрипт на R для работы - Часть III

# рассчитываю индекс биотической дисперсии Коха
# ввожу данные из файла и заменяю в ячейках отсутствующие данные на нули
territoria <- read.csv(file = (description = "e:/10pl.csv"),
                       sep = ";", h=F, dec = ",")
territoria[is.na(territoria == "NA")] <- 0

# ввожу номера выборок для анализа и определяю n
wp <- c(1:10)
n <- length(wp)

# подсчитываю общее число видов в заданной совокупности выборок
S <- 0 # задаю переменную для числа видов

# создаю матрицу для внесения выборок
w_df <- NULL
w_df <- 1:nrow(territoria)
w_df <- as.data.frame(w_df)
names(w_df)[names(w_df) == 'w_df'] <- 'V1'

# заполняю матрицу выборками
for(i in 1:length(wp)) {
  w_df[, i] <- territoria[, wp[i]]
}

# подсчитываю число видов
x <- 0
for(i in 1:nrow(w_df)) {
  x <- w_df[i,]
  ifelse(length(which(x == 0)) == 0, S <- S + 1, S <- S)
}

# подсчитываю сумму видов в выборках
tau <- 0
for(i in 1:length(w_df)) {
  tau <- tau + (length(w_df[, i]) - length(which(w_df[, i] == 0)))
}

# определяю итоговое значение индекса
I_K <- ((n - 1) * S) / (tau - S)
Последнее изменение: Четверг, 18 ноября 2021, 14:45