R 기술 기하 평균/기하 표준 편차 계산
R에 의한 기하 평균/기하 표준 편차 계산
기하 평균이란...
고등학교에서 시가와 시너지 평균의 관계를 만들었다고 생각하지만, 그 시너지 평균
자세한 계산은 위키로 보겠습니까?
htps : // 그럼.ぃきぺぢ아. 오 rg/우우키/%에5%B9%베%에4%BD%95%에5%B9%B3%에5%9D%87
로그 변환 → 평균값/표준 편차 계산 → 지수 변환
따라서 기하 평균과 기하 표준 편차를 구할 수 있습니다.
SAS로 산출하는 경우는 아래를 참조
htps : // m / spy / ms / a 1c300 9f0 아 922 502
이번에도 SQL 코드와 r 패키지에 의한 방법을 소개
사용할 데이터
SASHELP.CLASS의 HEIGHT로 곁들인다.
준비
# パッケージ
Packages <- c( "sqldf" , "data.table" , "tidyverse" , "haven" )
for( i in Packages ) {
library( i , character.only = TRUE )
}
# 読み込み
Sas_Pass <- "パス/class.sas7bdat"
SASHELP_CLASS <- haven::read_sas( Sas_Pass )
sqldf 패키지로 직접 계산하는 방법
우선 기하 평균, 기하 표준 편차, 기하 CV를 계산
신뢰 구간도 귀찮아서 식을 쓰면 낼 수 있어야합니다.
CLASS_STAT <- fn$sqldf(
" select AGE , count(*) as N ,
power( 10 , avg( log10( WEIGHT ) ) ) as GEOMEAN1 ,
power( exp( 1 ) , avg( log( WEIGHT ) ) ) as GEOMEAN2 ,
power( 10 , stdev( log10( WEIGHT ) ) ) as GEOSTD ,
sqrt( exp( power( stdev( log( WEIGHT ) ) , 2 ) ) - 1 ) * 100 as GEOCV
from SASHELP_CLASS
group by AGE
" )
RSQLite (db에 SASHELP_CLASS를 SQL 데이터로 저장하고 처리)
conn = dbConnect( RSQLite::SQLite() , "" , synchronous = "off" )
dbWriteTable( conn , "SASHELP_CLASS_SQL" , SASHELP_CLASS , overwrite = TRUE )
query <- " select AGE , count(*) as N ,
power( 10 , avg( log10( WEIGHT ) ) ) as GEOMEAN1 ,
power( exp( 1 ) , avg( log( WEIGHT ) ) ) as GEOMEAN2 ,
power( exp( 1 ) , stdev( log( WEIGHT ) ) ) as GEOSTD ,
sqrt( exp( power( stdev( log( WEIGHT ) ) , 2 ) ) - 1 ) * 100 as GEOCV
from SASHELP_CLASS_SQL
group by AGE "
CLASS_STAT2 <- dbGetQuery( conn , query )
dbDisconnect( conn )
dplyr
CLASS_STAT3 <- SASHELP_CLASS %>%
group_by( Age ) %>%
summarise( n = length( Weight ) , GeoMean = exp( mean( log( Weight ) ) ) , GeoStd = exp( sd( log( Weight ) ) ) , .groups = "drop" )
결과
느낌으로
Reference
이 문제에 관하여(R 기술 기하 평균/기하 표준 편차 계산), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/saspy/items/3403943d85b427937be3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
SASHELP.CLASS의 HEIGHT로 곁들인다.
준비
# パッケージ
Packages <- c( "sqldf" , "data.table" , "tidyverse" , "haven" )
for( i in Packages ) {
library( i , character.only = TRUE )
}
# 読み込み
Sas_Pass <- "パス/class.sas7bdat"
SASHELP_CLASS <- haven::read_sas( Sas_Pass )
sqldf 패키지로 직접 계산하는 방법
우선 기하 평균, 기하 표준 편차, 기하 CV를 계산
신뢰 구간도 귀찮아서 식을 쓰면 낼 수 있어야합니다.
CLASS_STAT <- fn$sqldf(
" select AGE , count(*) as N ,
power( 10 , avg( log10( WEIGHT ) ) ) as GEOMEAN1 ,
power( exp( 1 ) , avg( log( WEIGHT ) ) ) as GEOMEAN2 ,
power( 10 , stdev( log10( WEIGHT ) ) ) as GEOSTD ,
sqrt( exp( power( stdev( log( WEIGHT ) ) , 2 ) ) - 1 ) * 100 as GEOCV
from SASHELP_CLASS
group by AGE
" )
RSQLite (db에 SASHELP_CLASS를 SQL 데이터로 저장하고 처리)
conn = dbConnect( RSQLite::SQLite() , "" , synchronous = "off" )
dbWriteTable( conn , "SASHELP_CLASS_SQL" , SASHELP_CLASS , overwrite = TRUE )
query <- " select AGE , count(*) as N ,
power( 10 , avg( log10( WEIGHT ) ) ) as GEOMEAN1 ,
power( exp( 1 ) , avg( log( WEIGHT ) ) ) as GEOMEAN2 ,
power( exp( 1 ) , stdev( log( WEIGHT ) ) ) as GEOSTD ,
sqrt( exp( power( stdev( log( WEIGHT ) ) , 2 ) ) - 1 ) * 100 as GEOCV
from SASHELP_CLASS_SQL
group by AGE "
CLASS_STAT2 <- dbGetQuery( conn , query )
dbDisconnect( conn )
dplyr
CLASS_STAT3 <- SASHELP_CLASS %>%
group_by( Age ) %>%
summarise( n = length( Weight ) , GeoMean = exp( mean( log( Weight ) ) ) , GeoStd = exp( sd( log( Weight ) ) ) , .groups = "drop" )
결과
느낌으로
Reference
이 문제에 관하여(R 기술 기하 평균/기하 표준 편차 계산), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/saspy/items/3403943d85b427937be3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# パッケージ
Packages <- c( "sqldf" , "data.table" , "tidyverse" , "haven" )
for( i in Packages ) {
library( i , character.only = TRUE )
}
# 読み込み
Sas_Pass <- "パス/class.sas7bdat"
SASHELP_CLASS <- haven::read_sas( Sas_Pass )
우선 기하 평균, 기하 표준 편차, 기하 CV를 계산
신뢰 구간도 귀찮아서 식을 쓰면 낼 수 있어야합니다.
CLASS_STAT <- fn$sqldf(
" select AGE , count(*) as N ,
power( 10 , avg( log10( WEIGHT ) ) ) as GEOMEAN1 ,
power( exp( 1 ) , avg( log( WEIGHT ) ) ) as GEOMEAN2 ,
power( 10 , stdev( log10( WEIGHT ) ) ) as GEOSTD ,
sqrt( exp( power( stdev( log( WEIGHT ) ) , 2 ) ) - 1 ) * 100 as GEOCV
from SASHELP_CLASS
group by AGE
" )
RSQLite (db에 SASHELP_CLASS를 SQL 데이터로 저장하고 처리)
conn = dbConnect( RSQLite::SQLite() , "" , synchronous = "off" )
dbWriteTable( conn , "SASHELP_CLASS_SQL" , SASHELP_CLASS , overwrite = TRUE )
query <- " select AGE , count(*) as N ,
power( 10 , avg( log10( WEIGHT ) ) ) as GEOMEAN1 ,
power( exp( 1 ) , avg( log( WEIGHT ) ) ) as GEOMEAN2 ,
power( exp( 1 ) , stdev( log( WEIGHT ) ) ) as GEOSTD ,
sqrt( exp( power( stdev( log( WEIGHT ) ) , 2 ) ) - 1 ) * 100 as GEOCV
from SASHELP_CLASS_SQL
group by AGE "
CLASS_STAT2 <- dbGetQuery( conn , query )
dbDisconnect( conn )
dplyr
CLASS_STAT3 <- SASHELP_CLASS %>%
group_by( Age ) %>%
summarise( n = length( Weight ) , GeoMean = exp( mean( log( Weight ) ) ) , GeoStd = exp( sd( log( Weight ) ) ) , .groups = "drop" )
결과
느낌으로
Reference
이 문제에 관하여(R 기술 기하 평균/기하 표준 편차 계산), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/saspy/items/3403943d85b427937be3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
conn = dbConnect( RSQLite::SQLite() , "" , synchronous = "off" )
dbWriteTable( conn , "SASHELP_CLASS_SQL" , SASHELP_CLASS , overwrite = TRUE )
query <- " select AGE , count(*) as N ,
power( 10 , avg( log10( WEIGHT ) ) ) as GEOMEAN1 ,
power( exp( 1 ) , avg( log( WEIGHT ) ) ) as GEOMEAN2 ,
power( exp( 1 ) , stdev( log( WEIGHT ) ) ) as GEOSTD ,
sqrt( exp( power( stdev( log( WEIGHT ) ) , 2 ) ) - 1 ) * 100 as GEOCV
from SASHELP_CLASS_SQL
group by AGE "
CLASS_STAT2 <- dbGetQuery( conn , query )
dbDisconnect( conn )
CLASS_STAT3 <- SASHELP_CLASS %>%
group_by( Age ) %>%
summarise( n = length( Weight ) , GeoMean = exp( mean( log( Weight ) ) ) , GeoStd = exp( sd( log( Weight ) ) ) , .groups = "drop" )
결과
느낌으로
Reference
이 문제에 관하여(R 기술 기하 평균/기하 표준 편차 계산), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/saspy/items/3403943d85b427937be3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(R 기술 기하 평균/기하 표준 편차 계산), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/saspy/items/3403943d85b427937be3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)