これまでのExcelのインデックスとマッチの同等のソリューションを見てきましたが、Rでデータを扱うことができません。 私は以下のサンプルデータセットを提供しました。 4つのサンプルがあり、測定値は「CAG」の頻度カウントであり、すなわちサンプルA01には13個のCAGの6485カウントがある。私はモーダルCAG(各列の最高測定値に対するCAGの値)を計算しました。私はpsych()を使ってデータの要約統計量を計算することもできました。次に、これらの結果を使って(mean-mode)/ sdを使って歪度を計算します。 各サンプルは対照サンプルを有する。 A02のコントロールサンプルはA01です。また、制御モード、すなわち(mean-ctrlmode)/ sdを使用して歪度を計算したいと思います。これを達成するには、コントロールサンプルのモードを参照して結果テーブルに戻す必要があります。私はここで私が立ち往生していることを示しました。あなたの助けに感謝しますか?インデックスと一致の同等のR
#Data set
data <- data.frame(CAG = c(13, 14, 15, 17),
A01 = c(6485,35,132, 12),
A02 = c(0,42,56, 4),
A03 = c(33,5014,2221, 18),
A04 = c(106,89,436, 11))
settings <- data.frame(samples = c('A01', 'A02', 'A03', 'A04'),
control = c('A01', 'A01', 'A03', 'A03'))
#Mode
samplemode <- data.frame(samples = c('A01', 'A02', 'A03', 'A04'),
samplemode = (data[sapply(data[2:ncol(data)], which.max), ]$CAG))
#Summary statistics
sumstats <- sapply(data[, 2:ncol(data)], function(x) {
data_e <- rep(data$CAG, x)
library(psych)
data.frame(
describe(data_e)
)
})
sumstats <- as.data.frame(t(sumstats))
sumstats[] <- lapply(sumstats, function(x) {
as.numeric(x)
})
# Results table
results <- data.frame(samples = settings$samples,
samplemode = samplemode$samplemode,
control = settings$control,
ctrlmode = samplemode$samplemode[results$controls = samplemode$samples], #THIS IS WHERE I'M HAVING TROUBLE
sumstats)
# Skewness
results$skewmode <- (results$mean - results$samplemode)/results$sd
results$skewctrlmode <- (results$mean - results$ctrlmode)/results$sd
#Expected results
expected <- data.frame(samples = settings$samples,
skewmode = c(0.1565726, -0.4903837, 0.6321606, -0.5270822),
skewctrlmode = c(0.1565726, 2.4519186, 0.6321606, 0.6857736))
あなたの期待される結果とは何ですか? –
使用 結果の$ skewmode < - (結果は$意味 - 結果の$ samplemodeを)/結果は 結果の$ SD:0.1565726、-0.4903837、0.6321606、-0.5270822 使用して制御モードは、それは次のようになります。 0.1565726、 2.4519186、0.6321606、0.6857736 – Mike
あなたの質問にdata.frameを追加して、希望の結果の実際のデータを加えてください。 –