Ниже вы можете воссоздать мои данные в 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
из этого вопроса, чтобы он был сосредоточен на одной проблеме. Вы можете задать новый вопрос о функциях. - person Gregor Thomas   schedule 17.11.2015dput
все ваши данные являются факторами. Вы должны преобразовать все числа (по крайней мере, BCl, BCu, Mid и т. д.) в числовые, используяas.numeric(as.character(x))
- person Gregor Thomas   schedule 17.11.2015