国際脳MRIチュートリアルRmarkdownプログラム(2019年度)

 

 

 

 

 

 

 

 

 

小池進介|東京大学 2020/02/12

 

 

 

 

1. データの確認

1-1. CSVデータを取り込む

cols <- c("character",rep("factor", 31),rep("character", 4))
Rdata1 <- read.csv("2020国際脳MRI・臨床データ解析チュートリアル アンケート.csv",
                  header = T, fileEncoding = "utf-8", colClasses = cols)

1-2. CSVデータの確認

library(DT) #DTパッケージを読み込む
datatable(Rdata1)
 
  • 最初の一行はテスト回答、最初の一列はタイムスタンプなので、削除します
  • 列名がみずらいので編集します。

1-3. CSVデータの編集&再確認

Rdata.colnames <- c("Title",
                    "Field",
                    "MRIanalysisYear",
                    "Difficulty_R",
                    "Difficulty_SPSSandR",
                    "Difficulty_Rpretreatment",
                    "Difficulty_Rmarkdown",
                    "Difficulty_Python",
                    "Difficulty_BMBintro",
                    "Difficulty_CIFTIandPreprocessing",
                    "Difficulty_QC",
                    "Difficulty_DrHayashi",
                    "Satisfaction_R",
                    "Satisfaction_SPSSandR",
                    "Satisfaction_Rpretreatment",
                    "Satisfaction_Rmarkdown",
                    "Satisfaction_Python",
                    "Satisfaction_BMBintro",
                    "Satisfaction_CIFTIandPreprocessing",
                    "Satisfaction_QC",
                    "Satisfaction_DrHayashi",
                    "Length_R",
                    "Length_SPSSandR",
                    "Length_Rpretreatment",
                    "Length_Rmarkdown",
                    "Length_Python",
                    "Length_BMBintro",
                    "Length_CIFTIandPreprocessing",
                    "Length_QC",
                    "Length_DrHayashi",
                    "Useful",
                    "GoogPoint",
                    "Improvement",
                    "Future",
                    "Opinion")
Rdata <- Rdata1[2:nrow(Rdata1), 2:ncol(Rdata1)]
colnames(Rdata) <- Rdata.colnames
datatable(Rdata)
 

2. 欠損値の確認

2-1. miceパッケージ

library(mice) #miceパッケージを読み込む
md.pattern(Rdata)
##  /\     /\
## {  `---'  }
## {  O   O  }
## ==>  V <==  No need for mice. This data set is completely observed.
##  \  \|/  /
##   `-----'

##    Title Field MRIanalysisYear Difficulty_R Difficulty_SPSSandR
## 31     1     1               1            1                   1
##        0     0               0            0                   0
##    Difficulty_Rpretreatment Difficulty_Rmarkdown Difficulty_Python
## 31                        1                    1                 1
##                           0                    0                 0
##    Difficulty_BMBintro Difficulty_CIFTIandPreprocessing Difficulty_QC
## 31                   1                                1             1
##                      0                                0             0
##    Difficulty_DrHayashi Satisfaction_R Satisfaction_SPSSandR
## 31                    1              1                     1
##                       0              0                     0
##    Satisfaction_Rpretreatment Satisfaction_Rmarkdown Satisfaction_Python
## 31                          1                      1                   1
##                             0                      0                   0
##    Satisfaction_BMBintro Satisfaction_CIFTIandPreprocessing Satisfaction_QC
## 31                     1                                  1               1
##                        0                                  0               0
##    Satisfaction_DrHayashi Length_R Length_SPSSandR Length_Rpretreatment
## 31                      1        1               1                    1
##                         0        0               0                    0
##    Length_Rmarkdown Length_Python Length_BMBintro Length_CIFTIandPreprocessing
## 31                1             1               1                            1
##                   0             0               0                            0
##    Length_QC Length_DrHayashi Useful GoogPoint Improvement Future Opinion  
## 31         1                1      1         1           1      1       1 0
##            0                0      0         0           0      0       0 0
  • 欠損値がないとかわいいエラーメッセージが記録されるようです。

3. Distribution

3-1. summary()

summary(Rdata)
##           Title           Field      MRIanalysisYear       Difficulty_R
##  テスト回答  : 0   テスト回答: 0   1~3年  :10     ちょうどよい:13   
##  医療職      : 1   神経科学  :22   10年以上: 8     やさしい    :12   
##  学部学生    : 1   神経内科学: 3   1年未満  : 3     やさしすぎる: 1   
##  教員・研究職: 8   精神医学  : 3   3~5年  : 2     不参加      : 5   
##  研究員      :11   放射線医学: 3   5年以上  : 6                       
##  大学院学生  :10                   ほぼ未経験: 2                       
##    Difficulty_SPSSandR Difficulty_Rpretreatment   Difficulty_Rmarkdown
##  ちょうどよい:14       ちょうどよい:14          ちょうどよい:15       
##  やさしい    :12       やさしい    :11          やさしい    :12       
##  不参加      : 5       難しい      : 1          難しい      : 0       
##                        不参加      : 5          不参加      : 4       
##                                                                       
##                                                                       
##     Difficulty_Python   Difficulty_BMBintro Difficulty_CIFTIandPreprocessing
##  ちょうどよい: 9      ちょうどよい:27       ちょうどよい:17                 
##  やさしい    : 3      やさしい    : 3       やさしい    : 5                 
##  やさしすぎる: 1      やさしすぎる: 1       やさしすぎる: 1                 
##  難しい      :12      不参加      : 0       難しい      : 8                 
##  難しすぎる  : 5                                                            
##  不参加      : 1                                                            
##       Difficulty_QC   Difficulty_DrHayashi        Satisfaction_R
##  ちょうどよい:17    ちょうどよい:26        どちらでもない: 2    
##  やさしい    : 5    やさしい    : 1        やや不満足    : 3    
##  やさしすぎる: 1    やさしすぎる: 1        やや満足      : 8    
##  難しい      : 6    難しい      : 1        不参加        : 5    
##  不参加      : 2    不参加      : 2        満足          :13    
##                                                                 
##     Satisfaction_SPSSandR  Satisfaction_Rpretreatment    Satisfaction_Rmarkdown
##  どちらでもない: 3        どちらでもない: 1           どちらでもない: 4        
##  やや不満足    : 3        やや不満足    : 3           やや不満足    : 3        
##  やや満足      : 8        やや満足      : 9           やや満足      : 7        
##  不参加        : 5        不参加        : 5           不参加        : 4        
##  満足          :12        満足          :13           満足          :13        
##                                                                                
##      Satisfaction_Python    Satisfaction_BMBintro
##  どちらでもない: 6       どちらでもない: 5       
##  やや不満足    : 7       やや不満足    : 1       
##  やや満足      :11       やや満足      : 8       
##  不参加        : 1       不参加        : 0       
##  不満足        : 2       満足          :17       
##  満足          : 4                               
##  Satisfaction_CIFTIandPreprocessing       Satisfaction_QC
##  どちらでもない:8                   どちらでもない:8     
##  やや不満足    :5                   やや不満足    :1     
##  やや満足      :8                   やや満足      :8     
##  不満足        :2                   不参加        :2     
##  満足          :8                   不満足        :3     
##                                     満足          :9     
##     Satisfaction_DrHayashi         Length_R      Length_SPSSandR
##  どちらでもない: 1         ちょうどよい:19   ちょうどよい:21    
##  やや不満足    : 1         短い        : 3   短い        : 2    
##  やや満足      : 6         短すぎる    : 0   長い        : 2    
##  不参加        : 2         長い        : 3   長すぎる    : 1    
##  満足          :21         長すぎる    : 1   不参加      : 5    
##                            不参加      : 5                      
##    Length_Rpretreatment     Length_Rmarkdown      Length_Python
##  ちょうどよい:17        ちょうどよい:17      ちょうどよい: 9   
##  短い        : 5        短い        : 4      短い        :14   
##  長い        : 3        長い        : 5      短すぎる    : 7   
##  長すぎる    : 1        長すぎる    : 1      長すぎる    : 0   
##  不参加      : 5        不参加      : 4      不参加      : 1   
##                                                                
##      Length_BMBintro Length_CIFTIandPreprocessing        Length_QC 
##  ちょうどよい:28     ちょうどよい:19              ちょうどよい:18  
##  短い        : 2     短い        : 6              短い        : 4  
##  長い        : 1     短すぎる    : 2              短すぎる    : 2  
##  不参加      : 0     長い        : 4              長い        : 4  
##                                                   長すぎる    : 1  
##                                                   不参加      : 2  
##      Length_DrHayashi            Useful    GoogPoint         Improvement       
##  ちょうどよい:21      どちらでもない: 1   Length:31          Length:31         
##  短い        : 6      とても役立つ  :17   Class :character   Class :character  
##  長い        : 2      役立たない    : 1   Mode  :character   Mode  :character  
##  不参加      : 2      役立つ        :12                                        
##                                                                                
##                                                                                
##     Future            Opinion         
##  Length:31          Length:31         
##  Class :character   Class :character  
##  Mode  :character   Mode  :character  
##                                       
##                                       
## 
  • みづらいので並び替えたほうが良さそうです

3-2. reorder and summary()

Rdata.temp <- data.frame(
  factor(Rdata[,1],  levels = c("学部学生", "大学院学生", "研究員", "教員・研究職", "医療職")),
  factor(Rdata[,2],  levels = c("神経科学", "精神医学", "神経内科学", "放射線医学")),
  factor(Rdata[,3],  levels = c("ほぼ未経験", "1年未満", "1~3年", "3~5年", "5年以上", "10年以上")),
  factor(Rdata[,4],  levels = c("やさしすぎる", "やさしい", "ちょうどよい", "難しい", "難しすぎる", "不参加")), 
  factor(Rdata[,5],  levels = c("やさしすぎる", "やさしい", "ちょうどよい", "難しい", "難しすぎる", "不参加")),  
  factor(Rdata[,6],  levels = c("やさしすぎる", "やさしい", "ちょうどよい", "難しい", "難しすぎる", "不参加")),  
  factor(Rdata[,7],  levels = c("やさしすぎる", "やさしい", "ちょうどよい", "難しい", "難しすぎる", "不参加")),  
  factor(Rdata[,8],  levels = c("やさしすぎる", "やさしい", "ちょうどよい", "難しい", "難しすぎる", "不参加")),  
  factor(Rdata[,9],  levels = c("やさしすぎる", "やさしい", "ちょうどよい", "難しい", "難しすぎる", "不参加")),  
  factor(Rdata[,10], levels = c("やさしすぎる", "やさしい", "ちょうどよい", "難しい", "難しすぎる", "不参加")),  
  factor(Rdata[,11], levels = c("やさしすぎる", "やさしい", "ちょうどよい", "難しい", "難しすぎる", "不参加")),  
  factor(Rdata[,12], levels = c("やさしすぎる", "やさしい", "ちょうどよい", "難しい", "難しすぎる", "不参加")),  
  factor(Rdata[,13], levels = c("満足", "やや満足", "どちらでもない", "やや不満足", "不満足", "不参加")),  
  factor(Rdata[,14], levels = c("満足", "やや満足", "どちらでもない", "やや不満足", "不満足", "不参加")),  
  factor(Rdata[,15], levels = c("満足", "やや満足", "どちらでもない", "やや不満足", "不満足", "不参加")),  
  factor(Rdata[,16], levels = c("満足", "やや満足", "どちらでもない", "やや不満足", "不満足", "不参加")),  
  factor(Rdata[,17], levels = c("満足", "やや満足", "どちらでもない", "やや不満足", "不満足", "不参加")),  
  factor(Rdata[,18], levels = c("満足", "やや満足", "どちらでもない", "やや不満足", "不満足", "不参加")),  
  factor(Rdata[,19], levels = c("満足", "やや満足", "どちらでもない", "やや不満足", "不満足", "不参加")),  
  factor(Rdata[,20], levels = c("満足", "やや満足", "どちらでもない", "やや不満足", "不満足", "不参加")),  
  factor(Rdata[,21], levels = c("満足", "やや満足", "どちらでもない", "やや不満足", "不満足", "不参加")),  
  factor(Rdata[,22], levels = c("長すぎる", "長い", "ちょうどよい", "短い", "短すぎる", "不参加")), 
  factor(Rdata[,23], levels = c("長すぎる", "長い", "ちょうどよい", "短い", "短すぎる", "不参加")), 
  factor(Rdata[,24], levels = c("長すぎる", "長い", "ちょうどよい", "短い", "短すぎる", "不参加")), 
  factor(Rdata[,25], levels = c("長すぎる", "長い", "ちょうどよい", "短い", "短すぎる", "不参加")),  
  factor(Rdata[,26], levels = c("長すぎる", "長い", "ちょうどよい", "短い", "短すぎる", "不参加")),  
  factor(Rdata[,27], levels = c("長すぎる", "長い", "ちょうどよい", "短い", "短すぎる", "不参加")),  
  factor(Rdata[,28], levels = c("長すぎる", "長い", "ちょうどよい", "短い", "短すぎる", "不参加")),  
  factor(Rdata[,29], levels = c("長すぎる", "長い", "ちょうどよい", "短い", "短すぎる", "不参加")),  
  factor(Rdata[,30], levels = c("長すぎる", "長い", "ちょうどよい", "短い", "短すぎる", "不参加")),  
  factor(Rdata[,31], levels = c("とても役立つ", "役立つ", "どちらでもない", "役立たない", "全く役立たない")),  
  Rdata[,32:35]
)
colnames(Rdata.temp) <- Rdata.colnames
summary(Rdata.temp)
##           Title           Field      MRIanalysisYear       Difficulty_R
##  学部学生    : 1   神経科学  :22   ほぼ未経験: 2     やさしすぎる: 1   
##  大学院学生  :10   精神医学  : 3   1年未満  : 3     やさしい    :12   
##  研究員      :11   神経内科学: 3   1~3年  :10     ちょうどよい:13   
##  教員・研究職: 8   放射線医学: 3   3~5年  : 2     難しい      : 0   
##  医療職      : 1                   5年以上  : 6     難しすぎる  : 0   
##                                    10年以上: 8     不参加      : 5   
##    Difficulty_SPSSandR Difficulty_Rpretreatment   Difficulty_Rmarkdown
##  やさしすぎる: 0       やさしすぎる: 0          やさしすぎる: 0       
##  やさしい    :12       やさしい    :11          やさしい    :12       
##  ちょうどよい:14       ちょうどよい:14          ちょうどよい:15       
##  難しい      : 0       難しい      : 1          難しい      : 0       
##  難しすぎる  : 0       難しすぎる  : 0          難しすぎる  : 0       
##  不参加      : 5       不参加      : 5          不参加      : 4       
##     Difficulty_Python   Difficulty_BMBintro Difficulty_CIFTIandPreprocessing
##  やさしすぎる: 1      やさしすぎる: 1       やさしすぎる: 1                 
##  やさしい    : 3      やさしい    : 3       やさしい    : 5                 
##  ちょうどよい: 9      ちょうどよい:27       ちょうどよい:17                 
##  難しい      :12      難しい      : 0       難しい      : 8                 
##  難しすぎる  : 5      難しすぎる  : 0       難しすぎる  : 0                 
##  不参加      : 1      不参加      : 0       不参加      : 0                 
##       Difficulty_QC   Difficulty_DrHayashi        Satisfaction_R
##  やさしすぎる: 1    やさしすぎる: 1        満足          :13    
##  やさしい    : 5    やさしい    : 1        やや満足      : 8    
##  ちょうどよい:17    ちょうどよい:26        どちらでもない: 2    
##  難しい      : 6    難しい      : 1        やや不満足    : 3    
##  難しすぎる  : 0    難しすぎる  : 0        不満足        : 0    
##  不参加      : 2    不参加      : 2        不参加        : 5    
##     Satisfaction_SPSSandR  Satisfaction_Rpretreatment    Satisfaction_Rmarkdown
##  満足          :12        満足          :13           満足          :13        
##  やや満足      : 8        やや満足      : 9           やや満足      : 7        
##  どちらでもない: 3        どちらでもない: 1           どちらでもない: 4        
##  やや不満足    : 3        やや不満足    : 3           やや不満足    : 3        
##  不満足        : 0        不満足        : 0           不満足        : 0        
##  不参加        : 5        不参加        : 5           不参加        : 4        
##      Satisfaction_Python    Satisfaction_BMBintro
##  満足          : 4       満足          :17       
##  やや満足      :11       やや満足      : 8       
##  どちらでもない: 6       どちらでもない: 5       
##  やや不満足    : 7       やや不満足    : 1       
##  不満足        : 2       不満足        : 0       
##  不参加        : 1       不参加        : 0       
##  Satisfaction_CIFTIandPreprocessing       Satisfaction_QC
##  満足          :8                   満足          :9     
##  やや満足      :8                   やや満足      :8     
##  どちらでもない:8                   どちらでもない:8     
##  やや不満足    :5                   やや不満足    :1     
##  不満足        :2                   不満足        :3     
##  不参加        :0                   不参加        :2     
##     Satisfaction_DrHayashi         Length_R      Length_SPSSandR
##  満足          :21         長すぎる    : 1   長すぎる    : 1    
##  やや満足      : 6         長い        : 3   長い        : 2    
##  どちらでもない: 1         ちょうどよい:19   ちょうどよい:21    
##  やや不満足    : 1         短い        : 3   短い        : 2    
##  不満足        : 0         短すぎる    : 0   短すぎる    : 0    
##  不参加        : 2         不参加      : 5   不参加      : 5    
##    Length_Rpretreatment     Length_Rmarkdown      Length_Python
##  長すぎる    : 1        長すぎる    : 1      長すぎる    : 0   
##  長い        : 3        長い        : 5      長い        : 0   
##  ちょうどよい:17        ちょうどよい:17      ちょうどよい: 9   
##  短い        : 5        短い        : 4      短い        :14   
##  短すぎる    : 0        短すぎる    : 0      短すぎる    : 7   
##  不参加      : 5        不参加      : 4      不参加      : 1   
##      Length_BMBintro Length_CIFTIandPreprocessing        Length_QC 
##  長すぎる    : 0     長すぎる    : 0              長すぎる    : 1  
##  長い        : 1     長い        : 4              長い        : 4  
##  ちょうどよい:28     ちょうどよい:19              ちょうどよい:18  
##  短い        : 2     短い        : 6              短い        : 4  
##  短すぎる    : 0     短すぎる    : 2              短すぎる    : 2  
##  不参加      : 0     不参加      : 0              不参加      : 2  
##      Length_DrHayashi            Useful    GoogPoint         Improvement       
##  長すぎる    : 0      とても役立つ  :17   Length:31          Length:31         
##  長い        : 2      役立つ        :12   Class :character   Class :character  
##  ちょうどよい:21      どちらでもない: 1   Mode  :character   Mode  :character  
##  短い        : 6      役立たない    : 1                                        
##  短すぎる    : 0      全く役立たない: 0                                        
##  不参加      : 2                                                               
##     Future            Opinion         
##  Length:31          Length:31         
##  Class :character   Class :character  
##  Mode  :character   Mode  :character  
##                                       
##                                       
## 
Rdata <- Rdata.temp

http://highschoolstudent.hatenablog.com/entry/2013/12/15/154341

3-3. summarytoolsパッケージ

# library(summarytools) #summarytoolsパッケージを読み込む
#print(dfSummary(Rdata[,1:31], graph.magnif=0.50), method = 'render')

なぜかこれをうごかすとこの先が表示されなくなるので、とりあえずコメントアウトにしています。 誰か解決策教えて下さい。

  • こちらのほうがみやすいですが、いい感じに文字化けしています。 https://niszet.hatenablog.com/entry/2018/07/23/073000

  • おそらくFactorの表記を変えるしかなさそうです。 例えば、 factor(Rdata[,1], labels = c("Univ Student", "Graduate Student", "Post-doc", "Research Staff", "Medical Staff")) とか

http://m-hiyama.hatenablog.com/entry/20151215/1450140312

3-4. geom_bar()

library(ggplot2)
g <- list()
for(i in 1:(ncol(Rdata)-4)){
  g[[i]] <- ggplot(Rdata, aes(x = eval(parse(text = Rdata.colnames[i])))) +  # aes(x = Title) と、""でくくってはいけないため
    geom_bar() +
    xlab(Rdata.colnames[i])
}

# graphの描出
for (i in 1:31) print(g[[i]])

##### Rmarkdownではちいさくてうまくいかなかったので、やめました
# library(gridExtra)
# g.list <- NULL
# for (i in 1:31) g.list <- c(g.list, paste("g[[",i,"]]",sep=""))
# g.list.chr <- as.character("")
# for (i in 1:31) g.list.chr <- paste(g.list.chr, g.list[i], sep = ",")
# library(stringr)
# g.list.chr <- str_sub(g.list.chr, start = 2)
# eval(parse(text = paste("grid.arrange(",g.list.chr,", ncol = 2)",sep = "")))

https://qiita.com/nozma/items/cd98ec7938e0783d5d89 https://rstudio.com/wp-content/uploads/2015/03/ggplot2-cheatsheet.pdf


4. 自由記載分

4-1. 良かった点

comments <- data.frame(Rdata[,1:3],Rdata[,32])
colnames(comments)[4] <- Rdata.colnames[32]
comments <- comments[comments[,4]!="",]  # no commentを削除
datatable(comments)

 

 
- ありがとうございました。

 

4-2. 改善すべき点

comments <- data.frame(Rdata[,1:3],Rdata[,33])
colnames(comments)[4] <- Rdata.colnames[33]
comments <- comments[comments[,4]!="",]  # no commentを削除
datatable(comments)

 

 
- ありがとうございました。

 

4-3. 今後期待する点

comments <- data.frame(Rdata[,1:3],Rdata[,34])
colnames(comments)[4] <- Rdata.colnames[34]
comments <- comments[comments[,4]!="",]  # no commentを削除
datatable(comments)

 

 
- ありがとうございました。

 

4-4. その他ご意見

comments <- data.frame(Rdata[,1:3],Rdata[,35])
colnames(comments)[4] <- Rdata.colnames[35]
comments <- comments[comments[,4]!="",]  # no commentを削除
datatable(comments)

 

 
- ありがとうございました。

 


5. Stats

5-1. tableone()

せっかくなので、MRI解析経験を2群にわけてtableoneで統計かけてみました。

summary(Rdata[,3])
## ほぼ未経験   1年未満   1~3年   3~5年   5年以上 10年以上 
##          2          3         10          2          6          8
# というわけで、3年を区切りにしてみます
cat.Rdata <- ifelse(as.numeric(Rdata[,3]) <= 3, "Shorter", "Longer")
Rdata.tableone <- data.frame(Rdata, cat.Rdata)
library(tableone)
vars <- Rdata.colnames[c(1:2,4:31)]
factorVars <- Rdata.colnames[1:2]
table1 <- CreateTableOne(vars = vars, strata = "cat.Rdata", 
                         data = Rdata.tableone, factorVars = factorVars)
table1
##                                         Stratified by cat.Rdata
##                                          Longer     Shorter    p      test
##   n                                      16         15                    
##   Title (%)                                                     0.008     
##      学部学生                             0 ( 0.0)   1 ( 6.7)             
##      大学院学生                           2 (12.5)   8 (53.3)             
##      研究員                               5 (31.2)   6 (40.0)             
##      教員・研究職                         8 (50.0)   0 ( 0.0)             
##      医療職                               1 ( 6.2)   0 ( 0.0)             
##   Field (%)                                                     0.090     
##      神経科学                            12 (75.0)  10 (66.7)             
##      精神医学                             3 (18.8)   0 ( 0.0)             
##      神経内科学                           1 ( 6.2)   2 (13.3)             
##      放射線医学                           0 ( 0.0)   3 (20.0)             
##   Difficulty_R (%)                                              NaN       
##      やさしすぎる                         1 ( 6.2)   0 ( 0.0)             
##      やさしい                             6 (37.5)   6 (40.0)             
##      ちょうどよい                         7 (43.8)   6 (40.0)             
##      難しい                               0 ( 0.0)   0 ( 0.0)             
##      難しすぎる                           0 ( 0.0)   0 ( 0.0)             
##      不参加                               2 (12.5)   3 (20.0)             
##   Difficulty_SPSSandR (%)                                       NaN       
##      やさしすぎる                         0 ( 0.0)   0 ( 0.0)             
##      やさしい                             6 (37.5)   6 (40.0)             
##      ちょうどよい                         8 (50.0)   6 (40.0)             
##      難しい                               0 ( 0.0)   0 ( 0.0)             
##      難しすぎる                           0 ( 0.0)   0 ( 0.0)             
##      不参加                               2 (12.5)   3 (20.0)             
##   Difficulty_Rpretreatment (%)                                  NaN       
##      やさしすぎる                         0 ( 0.0)   0 ( 0.0)             
##      やさしい                             6 (37.5)   5 (33.3)             
##      ちょうどよい                         8 (50.0)   6 (40.0)             
##      難しい                               0 ( 0.0)   1 ( 6.7)             
##      難しすぎる                           0 ( 0.0)   0 ( 0.0)             
##      不参加                               2 (12.5)   3 (20.0)             
##   Difficulty_Rmarkdown (%)                                      NaN       
##      やさしすぎる                         0 ( 0.0)   0 ( 0.0)             
##      やさしい                             5 (31.2)   7 (46.7)             
##      ちょうどよい                        10 (62.5)   5 (33.3)             
##      難しい                               0 ( 0.0)   0 ( 0.0)             
##      難しすぎる                           0 ( 0.0)   0 ( 0.0)             
##      不参加                               1 ( 6.2)   3 (20.0)             
##   Difficulty_Python (%)                                         0.708     
##      やさしすぎる                         0 ( 0.0)   1 ( 6.7)             
##      やさしい                             2 (12.5)   1 ( 6.7)             
##      ちょうどよい                         4 (25.0)   5 (33.3)             
##      難しい                               7 (43.8)   5 (33.3)             
##      難しすぎる                           2 (12.5)   3 (20.0)             
##      不参加                               1 ( 6.2)   0 ( 0.0)             
##   Difficulty_BMBintro (%)                                       NaN       
##      やさしすぎる                         1 ( 6.2)   0 ( 0.0)             
##      やさしい                             1 ( 6.2)   2 (13.3)             
##      ちょうどよい                        14 (87.5)  13 (86.7)             
##      難しい                               0 ( 0.0)   0 ( 0.0)             
##      難しすぎる                           0 ( 0.0)   0 ( 0.0)             
##      不参加                               0 ( 0.0)   0 ( 0.0)             
##   Difficulty_CIFTIandPreprocessing (%)                          NaN       
##      やさしすぎる                         1 ( 6.2)   0 ( 0.0)             
##      やさしい                             3 (18.8)   2 (13.3)             
##      ちょうどよい                         7 (43.8)  10 (66.7)             
##      難しい                               5 (31.2)   3 (20.0)             
##      難しすぎる                           0 ( 0.0)   0 ( 0.0)             
##      不参加                               0 ( 0.0)   0 ( 0.0)             
##   Difficulty_QC (%)                                             NaN       
##      やさしすぎる                         1 ( 6.2)   0 ( 0.0)             
##      やさしい                             3 (18.8)   2 (13.3)             
##      ちょうどよい                         7 (43.8)  10 (66.7)             
##      難しい                               4 (25.0)   2 (13.3)             
##      難しすぎる                           0 ( 0.0)   0 ( 0.0)             
##      不参加                               1 ( 6.2)   1 ( 6.7)             
##   Difficulty_DrHayashi (%)                                      NaN       
##      やさしすぎる                         0 ( 0.0)   1 ( 6.7)             
##      やさしい                             1 ( 6.2)   0 ( 0.0)             
##      ちょうどよい                        14 (87.5)  12 (80.0)             
##      難しい                               0 ( 0.0)   1 ( 6.7)             
##      難しすぎる                           0 ( 0.0)   0 ( 0.0)             
##      不参加                               1 ( 6.2)   1 ( 6.7)             
##   Satisfaction_R (%)                                            NaN       
##      満足                                 9 (56.2)   4 (26.7)             
##      やや満足                             2 (12.5)   6 (40.0)             
##      どちらでもない                       1 ( 6.2)   1 ( 6.7)             
##      やや不満足                           2 (12.5)   1 ( 6.7)             
##      不満足                               0 ( 0.0)   0 ( 0.0)             
##      不参加                               2 (12.5)   3 (20.0)             
##   Satisfaction_SPSSandR (%)                                     NaN       
##      満足                                 9 (56.2)   3 (20.0)             
##      やや満足                             2 (12.5)   6 (40.0)             
##      どちらでもない                       1 ( 6.2)   2 (13.3)             
##      やや不満足                           2 (12.5)   1 ( 6.7)             
##      不満足                               0 ( 0.0)   0 ( 0.0)             
##      不参加                               2 (12.5)   3 (20.0)             
##   Satisfaction_Rpretreatment (%)                                NaN       
##      満足                                 9 (56.2)   4 (26.7)             
##      やや満足                             2 (12.5)   7 (46.7)             
##      どちらでもない                       1 ( 6.2)   0 ( 0.0)             
##      やや不満足                           2 (12.5)   1 ( 6.7)             
##      不満足                               0 ( 0.0)   0 ( 0.0)             
##      不参加                               2 (12.5)   3 (20.0)             
##   Satisfaction_Rmarkdown (%)                                    NaN       
##      満足                                10 (62.5)   3 (20.0)             
##      やや満足                             2 (12.5)   5 (33.3)             
##      どちらでもない                       1 ( 6.2)   3 (20.0)             
##      やや不満足                           2 (12.5)   1 ( 6.7)             
##      不満足                               0 ( 0.0)   0 ( 0.0)             
##      不参加                               1 ( 6.2)   3 (20.0)             
##   Satisfaction_Python (%)                                       0.867     
##      満足                                 2 (12.5)   2 (13.3)             
##      やや満足                             6 (37.5)   5 (33.3)             
##      どちらでもない                       2 (12.5)   4 (26.7)             
##      やや不満足                           4 (25.0)   3 (20.0)             
##      不満足                               1 ( 6.2)   1 ( 6.7)             
##      不参加                               1 ( 6.2)   0 ( 0.0)             
##   Satisfaction_BMBintro (%)                                     NaN       
##      満足                                 9 (56.2)   8 (53.3)             
##      やや満足                             3 (18.8)   5 (33.3)             
##      どちらでもない                       3 (18.8)   2 (13.3)             
##      やや不満足                           1 ( 6.2)   0 ( 0.0)             
##      不満足                               0 ( 0.0)   0 ( 0.0)             
##      不参加                               0 ( 0.0)   0 ( 0.0)             
##   Satisfaction_CIFTIandPreprocessing (%)                        NaN       
##      満足                                 6 (37.5)   2 (13.3)             
##      やや満足                             6 (37.5)   2 (13.3)             
##      どちらでもない                       2 (12.5)   6 (40.0)             
##      やや不満足                           1 ( 6.2)   4 (26.7)             
##      不満足                               1 ( 6.2)   1 ( 6.7)             
##      不参加                               0 ( 0.0)   0 ( 0.0)             
##   Satisfaction_QC (%)                                           0.506     
##      満足                                 6 (37.5)   3 (20.0)             
##      やや満足                             4 (25.0)   4 (26.7)             
##      どちらでもない                       2 (12.5)   6 (40.0)             
##      やや不満足                           1 ( 6.2)   0 ( 0.0)             
##      不満足                               2 (12.5)   1 ( 6.7)             
##      不参加                               1 ( 6.2)   1 ( 6.7)             
##   Satisfaction_DrHayashi (%)                                    NaN       
##      満足                                13 (81.2)   8 (53.3)             
##      やや満足                             1 ( 6.2)   5 (33.3)             
##      どちらでもない                       0 ( 0.0)   1 ( 6.7)             
##      やや不満足                           1 ( 6.2)   0 ( 0.0)             
##      不満足                               0 ( 0.0)   0 ( 0.0)             
##      不参加                               1 ( 6.2)   1 ( 6.7)             
##   Length_R (%)                                                  NaN       
##      長すぎる                             0 ( 0.0)   1 ( 6.7)             
##      長い                                 2 (12.5)   1 ( 6.7)             
##      ちょうどよい                        10 (62.5)   9 (60.0)             
##      短い                                 2 (12.5)   1 ( 6.7)             
##      短すぎる                             0 ( 0.0)   0 ( 0.0)             
##      不参加                               2 (12.5)   3 (20.0)             
##   Length_SPSSandR (%)                                           NaN       
##      長すぎる                             0 ( 0.0)   1 ( 6.7)             
##      長い                                 1 ( 6.2)   1 ( 6.7)             
##      ちょうどよい                        12 (75.0)   9 (60.0)             
##      短い                                 1 ( 6.2)   1 ( 6.7)             
##      短すぎる                             0 ( 0.0)   0 ( 0.0)             
##      不参加                               2 (12.5)   3 (20.0)             
##   Length_Rpretreatment (%)                                      NaN       
##      長すぎる                             0 ( 0.0)   1 ( 6.7)             
##      長い                                 1 ( 6.2)   2 (13.3)             
##      ちょうどよい                         9 (56.2)   8 (53.3)             
##      短い                                 4 (25.0)   1 ( 6.7)             
##      短すぎる                             0 ( 0.0)   0 ( 0.0)             
##      不参加                               2 (12.5)   3 (20.0)             
##   Length_Rmarkdown (%)                                          NaN       
##      長すぎる                             0 ( 0.0)   1 ( 6.7)             
##      長い                                 1 ( 6.2)   4 (26.7)             
##      ちょうどよい                        11 (68.8)   6 (40.0)             
##      短い                                 3 (18.8)   1 ( 6.7)             
##      短すぎる                             0 ( 0.0)   0 ( 0.0)             
##      不参加                               1 ( 6.2)   3 (20.0)             
##   Length_Python (%)                                             NaN       
##      長すぎる                             0 ( 0.0)   0 ( 0.0)             
##      長い                                 0 ( 0.0)   0 ( 0.0)             
##      ちょうどよい                         3 (18.8)   6 (40.0)             
##      短い                                 7 (43.8)   7 (46.7)             
##      短すぎる                             5 (31.2)   2 (13.3)             
##      不参加                               1 ( 6.2)   0 ( 0.0)             
##   Length_BMBintro (%)                                           NaN       
##      長すぎる                             0 ( 0.0)   0 ( 0.0)             
##      長い                                 1 ( 6.2)   0 ( 0.0)             
##      ちょうどよい                        14 (87.5)  14 (93.3)             
##      短い                                 1 ( 6.2)   1 ( 6.7)             
##      短すぎる                             0 ( 0.0)   0 ( 0.0)             
##      不参加                               0 ( 0.0)   0 ( 0.0)             
##   Length_CIFTIandPreprocessing (%)                              NaN       
##      長すぎる                             0 ( 0.0)   0 ( 0.0)             
##      長い                                 1 ( 6.2)   3 (20.0)             
##      ちょうどよい                         8 (50.0)  11 (73.3)             
##      短い                                 5 (31.2)   1 ( 6.7)             
##      短すぎる                             2 (12.5)   0 ( 0.0)             
##      不参加                               0 ( 0.0)   0 ( 0.0)             
##   Length_QC (%)                                                 0.115     
##      長すぎる                             1 ( 6.2)   0 ( 0.0)             
##      長い                                 1 ( 6.2)   3 (20.0)             
##      ちょうどよい                         7 (43.8)  11 (73.3)             
##      短い                                 4 (25.0)   0 ( 0.0)             
##      短すぎる                             2 (12.5)   0 ( 0.0)             
##      不参加                               1 ( 6.2)   1 ( 6.7)             
##   Length_DrHayashi (%)                                          NaN       
##      長すぎる                             0 ( 0.0)   0 ( 0.0)             
##      長い                                 2 (12.5)   0 ( 0.0)             
##      ちょうどよい                         9 (56.2)  12 (80.0)             
##      短い                                 4 (25.0)   2 (13.3)             
##      短すぎる                             0 ( 0.0)   0 ( 0.0)             
##      不参加                               1 ( 6.2)   1 ( 6.7)             
##   Useful (%)                                                    NaN       
##      とても役立つ                        11 (68.8)   6 (40.0)             
##      役立つ                               3 (18.8)   9 (60.0)             
##      どちらでもない                       1 ( 6.2)   0 ( 0.0)             
##      役立たない                           1 ( 6.2)   0 ( 0.0)             
##      全く役立たない                       0 ( 0.0)   0 ( 0.0)
  • あまり差はなさそうです。とりあえず連続変数としてt検定もしてみます。
  • 不参加を抜かないといけません。

5-2. tableone() 連続変数で

Rdata.tableone[Rdata.tableone=="不参加"] <- NA
Rdata.tableone2 <- Rdata[,1:3]
for (i in 4:31) Rdata.tableone2 <- data.frame(Rdata.tableone2, as.numeric(Rdata[,i]))
Rdata.tableone2 <- data.frame(Rdata.tableone2, cat.Rdata)
colnames(Rdata.tableone2) <- c(Rdata.colnames[1:31], "cat.Rdata")
vars <- Rdata.colnames[c(1:2,4:31)]
factorVars <- Rdata.colnames[1:2]
table2 <- CreateTableOne(vars = vars, strata = "cat.Rdata", 
                         data = Rdata.tableone2, factorVars = factorVars)
table2
##                                                 Stratified by cat.Rdata
##                                                  Longer       Shorter     
##   n                                                16           15        
##   Title (%)                                                               
##      学部学生                                       0 ( 0.0)     1 ( 6.7) 
##      大学院学生                                     2 (12.5)     8 (53.3) 
##      研究員                                         5 (31.2)     6 (40.0) 
##      教員・研究職                                   8 (50.0)     0 ( 0.0) 
##      医療職                                         1 ( 6.2)     0 ( 0.0) 
##   Field (%)                                                               
##      神経科学                                      12 (75.0)    10 (66.7) 
##      精神医学                                       3 (18.8)     0 ( 0.0) 
##      神経内科学                                     1 ( 6.2)     2 (13.3) 
##      放射線医学                                     0 ( 0.0)     3 (20.0) 
##   Difficulty_R (mean (SD))                       2.88 (1.36)  3.20 (1.52) 
##   Difficulty_SPSSandR (mean (SD))                3.00 (1.26)  3.20 (1.52) 
##   Difficulty_Rpretreatment (mean (SD))           3.00 (1.26)  3.33 (1.50) 
##   Difficulty_Rmarkdown (mean (SD))               2.88 (0.96)  3.13 (1.55) 
##   Difficulty_Python (mean (SD))                  3.75 (1.06)  3.53 (1.13) 
##   Difficulty_BMBintro (mean (SD))                2.81 (0.54)  2.87 (0.35) 
##   Difficulty_CIFTIandPreprocessing (mean (SD))   3.00 (0.89)  3.07 (0.59) 
##   Difficulty_QC (mean (SD))                      3.12 (1.15)  3.20 (0.94) 
##   Difficulty_DrHayashi (mean (SD))               3.12 (0.81)  3.13 (0.99) 
##   Satisfaction_R (mean (SD))                     2.25 (1.81)  2.73 (1.87) 
##   Satisfaction_SPSSandR (mean (SD))              2.25 (1.81)  2.87 (1.81) 
##   Satisfaction_Rpretreatment (mean (SD))         2.25 (1.81)  2.67 (1.88) 
##   Satisfaction_Rmarkdown (mean (SD))             1.94 (1.53)  2.93 (1.79) 
##   Satisfaction_Python (mean (SD))                2.94 (1.44)  2.73 (1.16) 
##   Satisfaction_BMBintro (mean (SD))              1.75 (1.00)  1.60 (0.74) 
##   Satisfaction_CIFTIandPreprocessing (mean (SD)) 2.06 (1.18)  3.00 (1.13) 
##   Satisfaction_QC (mean (SD))                    2.50 (1.67)  2.67 (1.40) 
##   Satisfaction_DrHayashi (mean (SD))             1.56 (1.41)  1.80 (1.32) 
##   Length_R (mean (SD))                           3.38 (1.15)  3.47 (1.46) 
##   Length_SPSSandR (mean (SD))                    3.38 (1.09)  3.47 (1.46) 
##   Length_Rpretreatment (mean (SD))               3.56 (1.09)  3.40 (1.50) 
##   Length_Rmarkdown (mean (SD))                   3.31 (0.87)  3.27 (1.58) 
##   Length_Python (mean (SD))                      4.25 (0.86)  3.73 (0.70) 
##   Length_BMBintro (mean (SD))                    3.00 (0.37)  3.07 (0.26) 
##   Length_CIFTIandPreprocessing (mean (SD))       3.50 (0.82)  2.87 (0.52) 
##   Length_QC (mean (SD))                          3.50 (1.21)  3.00 (0.93) 
##   Length_DrHayashi (mean (SD))                   3.31 (0.95)  3.33 (0.82) 
##   Useful (mean (SD))                             1.50 (0.89)  1.60 (0.51) 
##                                                 Stratified by cat.Rdata
##                                                  p      test
##   n                                                         
##   Title (%)                                       0.008     
##      学部学生                                               
##      大学院学生                                             
##      研究員                                                 
##      教員・研究職                                           
##      医療職                                                 
##   Field (%)                                       0.090     
##      神経科学                                               
##      精神医学                                               
##      神経内科学                                             
##      放射線医学                                             
##   Difficulty_R (mean (SD))                        0.535     
##   Difficulty_SPSSandR (mean (SD))                 0.693     
##   Difficulty_Rpretreatment (mean (SD))            0.507     
##   Difficulty_Rmarkdown (mean (SD))                0.579     
##   Difficulty_Python (mean (SD))                   0.586     
##   Difficulty_BMBintro (mean (SD))                 0.746     
##   Difficulty_CIFTIandPreprocessing (mean (SD))    0.810     
##   Difficulty_QC (mean (SD))                       0.844     
##   Difficulty_DrHayashi (mean (SD))                0.980     
##   Satisfaction_R (mean (SD))                      0.470     
##   Satisfaction_SPSSandR (mean (SD))               0.350     
##   Satisfaction_Rpretreatment (mean (SD))          0.534     
##   Satisfaction_Rmarkdown (mean (SD))              0.106     
##   Satisfaction_Python (mean (SD))                 0.668     
##   Satisfaction_BMBintro (mean (SD))               0.640     
##   Satisfaction_CIFTIandPreprocessing (mean (SD))  0.032     
##   Satisfaction_QC (mean (SD))                     0.766     
##   Satisfaction_DrHayashi (mean (SD))              0.633     
##   Length_R (mean (SD))                            0.847     
##   Length_SPSSandR (mean (SD))                     0.843     
##   Length_Rpretreatment (mean (SD))                0.732     
##   Length_Rmarkdown (mean (SD))                    0.920     
##   Length_Python (mean (SD))                       0.078     
##   Length_BMBintro (mean (SD))                     0.564     
##   Length_CIFTIandPreprocessing (mean (SD))        0.016     
##   Length_QC (mean (SD))                           0.209     
##   Length_DrHayashi (mean (SD))                    0.948     
##   Useful (mean (SD))                              0.707
  • 数が小さいと「やさしすぎる」「満足」「短すぎる」「役立つ」です。
  • コメントとより近い回答かなと思います。
  • 今後の参考にさせていただきます。

もしこのRmarkdownについて改善点がありましたら、フィードバックください。