Ниже вы можете воссоздать мои данные в R. Я хотел бы сгенерировать последовательность чисел на основе двух отдельных столбцов. В этом примере реальных данных мои имена столбцов:Как сгенерировать последовательность на основе двух столбцов в R?
df= or10x1BC
"Tank" "Core" "BCl" "BCu" "Mid" "TL" "SL"
Я хотел бы использовать значение в каждой строке из BCu
и BCl
для генерации последовательности 0.001. Например, seq(BCu[1], BCl[1], 0.001)
будет генерировать последовательность, основанную на первой строке в каждой, я хочу, чтобы эта работа для каждой строки вниз по списку.
В конечном итоге эта последовательность будет использоваться в моей функции, чтобы сделать среднее значение последовательности, то есть mean(function(seq(Bcu[i], BCl[j], 0.001))
, и будет добавлено в новый столбец or10x1BC["meanBVF"] = mean(function(seq(Bcu[i], BCl[j], 0.001))
.
См данные ниже:
structure(list(Tank = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L), .Label = "1", class = "factor"), Core = structure(c(1L,
1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L), .Label = c("A", "B", "C"), class = "factor"),
BCl = structure(c(8L, 5L, 2L, 6L, 3L, 1L, 9L, 7L, 4L), .Label = c("17",
"18", "22", "22.3", "23", "26", "27.3", "28", "29"), class = "factor"),
BCu = structure(c(8L, 5L, 2L, 6L, 3L, 1L, 9L, 7L, 4L), .Label = c("12.5",
"13.5", "17", "17.8", "18", "22", "22.3", "23", "27.3"), class = "factor"),
Mid = structure(c(8L, 5L, 2L, 6L, 3L, 1L, 9L, 7L, 4L), .Label = c("14.75",
"15.75", "19.5", "20.05", "20.5", "24", "24.8", "25.5", "28.15"
), class = "factor"), TL = structure(c(2L, 2L, 2L, 1L, 1L,
1L, 3L, 3L, 3L), .Label = c("26", "28", "29"), class = "factor"),
SL = structure(c(4L, 4L, 3L, 2L, 4L, 3L, 1L, 4L, 3L), .Label = c("1.7",
"4", "4.5", "5"), class = "factor")), .Names = c("Tank",
"Core", "BCl", "BCu", "Mid", "TL", "SL"), row.names = c(NA, -9L
), class = "data.frame")
Похоже, у вас есть два вопроса: генерация последовательности и функции, основанные на значениях 'CORE'. Я предлагаю вам удалить функцию 'functiona'' functionb' 'functionc' из этого вопроса, поэтому он ориентирован на одну проблему. Вы можете задать новый вопрос о функциях. – Gregor
Кроме того, среднее из равномерно распределенной последовательности между двумя числами будет таким же, как среднее из двух чисел. Поэтому, если вы просто генерируете последовательности для принятия средств, вы можете пропустить шаг в последовательности и принять средства напрямую. – Gregor
Редактирование сейчас. functiona фактически является ступенчатой функцией. Таким образом, создавая последовательность для моего диапазона (от BCl до BCu), я могу рассчитать средневзвешенное значение для диапазона, который странно падает на все этапы. Обновит вопрос с более подробной исходной информацией. – Dilliplaine33