В приведенном ниже наборе данных и коде создается новый набор данных с результатами тестирования cor.test для каждого человека ('Individual_ID') из моего исходного набора данных.Как преобразовать каждую переменную из результатов cor.test в числовой тип данных, когда она передается в новый фрейм данных?Например, «оценка», «p.value» и «conf.int» должны быть числовыми, а не символьными.Во-вторых, я хотел бы, чтобы переменная conf.int представляла собой две переменные: lowlim и uplim.
## Create sample dataset
WW_Wing_SI <-
structure(list(Individual_ID = c("WW_08A_02", "WW_08A_02", "WW_08A_02",
"WW_08A_02", "WW_08A_02", "WW_08A_02", "WW_08A_02", "WW_08A_02",
"WW_08A_02", "WW_08A_03", "WW_08A_03", "WW_08A_03", "WW_08A_03",
"WW_08A_03", "WW_08A_03", "WW_08A_03", "WW_08A_03", "WW_08A_03"
), FeatherPosition = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4,
5, 6, 7, 8, 9), Delta13C = c(-18.67, -19.16, -20.38, -20.96,
-21.61, -21.65, -21.31, -20.8, -21.28, -20.06, -20.3, -21.21,
-22.9, -22.87, -21.13, -20.68, -20.58, -20.69)), .Names = c("Individual_ID",
"FeatherPosition", "Delta13C"), row.names = c(NA, 18L), class = "data.frame")
# split data frame according the the individual IDs
individual.list <- split(WW_Wing_SI, WW_Wing_SI$Individual_ID)
# apply cor.test() with extract to each element of the list
test <- as.data.frame(t(sapply(individual.list, function(temp)
cor.test(temp$Delta13C, temp$FeatherPosition,
method="pearson")[c("estimate", "p.value", "conf.int")])))