top of page

研究ブログ

2つのグループを比較します。

パラメトリック検定であるt検定と、ノンパラメトリック検定であるマン-ホイットニーのU検定があるので、データに応じて選択します。

①t検定

#検定に用いる項目を選択
col_t <- c("A", "B", "C")

#空のリストを作成:初期化
t_result <- list()
for (col in col_t){ #col_tの要素を1つずつ取り出しループ
#t検定の実施:2つのグループの平均値の差を比較
 t <- t.test(data[[col]] ~ data $ "比較条件のカテゴリー") #dataの列を指定、~で数式を表す
 t_result[[col]] <- list( #t_resultに列を追加
  "t_statistic" = t $ statistic, #t値
  "p_value" = t $ p.value, #p値
  "mean_"比較条件1"" = mean(data[[col]][data $ "比較条件のカテゴリー" == "比較条件1"], na.rm = TRUE), #比較条件1の平均値
  "mean_"比較条件2"" = mean(data[[col]][data $ "比較条件のカテゴリー" == "比較条件2"], na.rm = TRUE) #比較条件2の平均値
)
}
t_df <- do.call(rbind, #do.callでrbindをリストに適用
 lapply(names(t_result), function(col){ #lapplyでリストの要素に関数を適用:項目を取得(names)して操作(function)
 cbind(measurement = col,
 t_result[[col]])
}))
print(as.data.frame(t_df)) #as.data.frame()でデータフレーム形式に変換して出力

②マン-ホイットニーのU検定(ウィルコクソンの順位和検定)

col_u <- c("D", "E", "F")

u_result <- list()
for(col in col_u){
 u <- wilcox.test(data[[col]] ~ data $ "比較条件のカテゴリー, exact = TRUE) #exactは計算の正確性、サンプルサイズが大きい場合はFALSEにして近似的に計算することで効率的に計算する事が出来る
 u_result[[col]] <- list(
  "u_statistic" = u $ statistic,
  "p_palue" = u $ p.value,
  "mean_"比較条件1"" = mean(data[[col]][data $ "比較条件のカテゴリー" == "比較条件1"], na.rm = TRUE),
  "mean_"比較条件2"" = mean(data[col]][data $ "比較条件のカテゴリー" == "比較条件2"], na.rm = TRUE)
)
}
u_df <- do.call(rbind, lapply(names(u_result), function(col){
 cbind(measurement = col, u_result[[col]])
}))
print(as.data.frame(u_df))

無料ソフトGIMPを使って、写真の背景を透過します。

仕上がりは、背景の選択など事前準備に依存します。


①ツールバーの「ファイル」から「開く/インポート」


②「レイヤー」で画像を右クリックして「アルファチャンネルの追加(H)」

 ショートカットで追加すると読み込みが長くなる(?)のでクリックを推奨

※アルファチャンネル:透過度の情報を格納するデータ領域


③同様に「レイヤーの複製(U)」

表示するのはどちらか一方にしておく


④必要に応じてツールバーの「色」から「自動補正」、「ホワイトバランス」


⑤左上タブの「ファジー選択(U)」

 しきい値を調整して背景を削除:高くても40.0程度までにしておく


⑥右クリックして「選択(S)」

 「選択範囲の拡大(G)」:1~3ptに設定して、deleteボタンで削除

※選択範囲の拡大:選択範囲よりも指定pt分内側まで削除することで辺縁の白い縁を消す


選択を(Ctrl + Shift + A)で解除する

※これをしないと消しゴムが機能しない


⑧ファジー選択で消せなかった分を「消しゴム(Shift + E)」で削除

 「逆消しゴム(Alt)」は押している間だけ適用される


⑨ツールバーの「ファイル」から「名前を付けてエクスポート(Ctrl + Shift + E)」

 必要に応じて「上書きエクスポート(Ctrl + E)」

JPEGでは透過度の情報が保存されないので、PNGを選択


ざっくり切り取るとこの程度

背景と色味が近かったり、辺縁が不整でなければファジー選択でかなり削除できる

上記のようなオブジェクトは地道に消しゴムを使うのが吉

更新日:2024年12月10日

ある骨形態測定項目を全測定項目の幾何平均で除算することで、体サイズの影響を除去します。

#R package "dplyr"をインストール
library(dplyr) #"dplyr"を読み込み

#幾何平均を計算する関数を用意
geometric_mean <- function(x)
 exp(mean(log(x), na.rm = TRUE)
 #測定値にNAを含む場合は、na.rm = TRUE

#dataから数値データの行を抽出
numeric_columns <- data %>% dplyr::select_if(is.numeric)

#各行ごとにgeometric_meanを適用
GM <- apply(numeric_columns, 1, geometric_mean)

#dataにGMの行を追加
data <- dplyr::mutate(data, GM)
#正規化(各行を、各行のGMで除算)
normalized_data <- sweep(numeric_columns, 1, GM, "/")
#GMの列を削除
normalized_data <- normalized_data %>% dplyr::select(-GM)
#正規化したデータをdataに戻す
data[, name(numeric_columns)] <- normalized_data

2
bottom of page