Rで解析:思いつくままに、日常的によく使うコマンド

Rの解析に役に立つ記事
スポンサーリンク

思いつくままにRで日常的に使用するコマンドを紹介します。

実行コマンドはR version 4.2.2で確認しています。

スポンサーリンク

実行コマンド

詳細はコメント、コマンドのヘルプを確認してください。

#パッケージのインストール
#CRANから:install.packagesコマンド
install.packages("パッケージ名")

#Githubから:「devtools」パッケージのinstall_githubコマンド
#githubのURL:https://github.com/search?utf8=%E2%9C%93&q=language%3AR&type=Repositories&ref=advsearch&l=R&l=
install.packages("devtools")
devtools::install_github("管理者名/パッケージ名")

#パッケージの読み込み:libraryコマンド
library("パッケージ名")

#配列からランダムにデータを取得:sampleコマンド
#例:重複ありで10個のアルファベットを取得する
sample(LETTERS[1:24], size = 10, replace = TRUE)
[1] "B" "G" "S" "E" "E" "G" "X" "H" "R" "E"

#データのクラスを確認する:classコマンド
class(LETTERS[1:24])
[1] "character"

#&#24341;&#25968;&#12395;&#20516;&#12434;&#26684;&#32013;:<-
#&#25968;&#20516;&#20197;&#22806;&#12395;&#12418;&#25991;&#23383;&#12394;&#12393;&#12418;&#26684;&#32013;&#12391;&#12365;&#12414;&#12377;
x <- 1
x
[1] 1

#&#25991;&#23383;&#12487;&#12540;&#12479;&#12434;&#32080;&#21512;&#12377;&#12427;
#paste&#12467;&#12510;&#12531;&#12489;
#&#20363;1;&#20491;&#21029;&#12487;&#12540;&#12479;&#12434;&#32080;&#21512;
paste("karada", 10, "&#12356;&#12356;&#12418;&#12398;", sep = " ")
[1] "karada 10 &#12356;&#12356;&#12418;&#12398;"
#&#20363;2;&#37197;&#21015;&#12487;&#12540;&#12479;&#12434;&#32080;&#21512;
paste(c("karada", 10, "&#12356;&#12356;&#12418;&#12398;"), collapse = ",")
#paste0&#12467;&#12510;&#12531;&#12489;
#&#20363;1;&#31354;&#30333;&#12394;&#12367;&#20491;&#21029;&#12487;&#12540;&#12479;&#12434;&#32080;&#21512;
paste0("karada", 10, "&#12356;&#12356;&#12418;&#12398;")
[1] "karada10&#12356;&#12356;&#12418;&#12398;"

#dataframe&#12398;&#20316;&#25104;:data.frame&#12467;&#12510;&#12531;&#12489;
TestData <- data.frame(Data1 = 1:5,
                       Data2 = 6:10)
#&#20869;&#23481;&#30906;&#35469;
TestData
Data1 Data2
1     1     6
2     2     7
3     3     8
4     4     9
5     5    10

#dataframe&#12398;&#21015;&#12434;&#36984;&#25246;
TestData[, 2]
[1]  6  7  8  9 10

#dataframe&#12398;&#34892;&#12434;&#36984;&#25246;
TestData[2, ]
Data1 Data2
2     2     7

#&#12487;&#12540;&#12479;&#12398;&#25277;&#20986;:subset&#12467;&#12510;&#12531;&#12489;
subset(TestData, TestData[, 2] &lt; 8)
Data1 Data2
1     1     6
2     2     7

#&#12487;&#12540;&#12479;&#12398;&#25277;&#20986;,&#21015;&#21517;&#12434;&#25351;&#23450;
#&#27491;&#35215;&#34920;&#29694;&#12392;&#32068;&#12415;&#21512;&#12431;&#12379;&#12427;&#12392;&#20415;&#21033;
TestData[colnames(TestData) %in% "Data2"]
Data2
1     6
2     7
3     8
4     9
5    10

#&#12487;&#12540;&#12479;&#12398;&#27083;&#36896;&#12434;&#30906;&#35469;:str&#12467;&#12510;&#12531;&#12489;
str(TestData)
'data.frame':   5 obs. of  2 variables:
  $ Data1: int  1 2 3 4 5
$ Data2: int  6 7 8 9 10

#&#12487;&#12540;&#12479;&#35201;&#32004;:summary&#12467;&#12510;&#12531;&#12489;
summary(TestData)
Data1       Data2
Min.   :1   Min.   : 6
1st Qu.:2   1st Qu.: 7
Median :3   Median : 8
Mean   :3   Mean   : 8
3rd Qu.:4   3rd Qu.: 9
Max.   :5   Max.   :10

#&#21015;,&#34892;&#27598;&#12395;&#20966;&#29702;:apply&#12467;&#12510;&#12531;&#12489;
#MARGIN&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;1&#12395;&#12377;&#12427;&#12392;&#21015;&#12395;&#12394;&#12426;&#12414;&#12377;
#mean&#20197;&#22806;&#12395;&#12418;sum&#12394;&#12393;&#12398;&#12467;&#12510;&#12531;&#12489;&#12418;&#21487;&#33021;&#12391;&#12377;
#&#12414;&#12383;function&#12392;&#32068;&#12415;&#21512;&#12431;&#12379;&#12427;&#12392;&#20351;&#12356;&#21213;&#25163;&#12364;&#24195;&#12364;&#12426;&#12414;&#12377;
#&#20363;;&#34892;&#27598;&#12395;&#20966;&#29702;
apply(TestData, MARGIN = 2, mean)
Data1 Data2 
3     8 

#&#37325;&#35079;&#12434;&#21336;&#19968;&#21270;:unique&#12467;&#12510;&#12531;&#12489;
unique(c(1, 1, 2, 2, 3, 3))
[1] 1 2 3

#&#12501;&#12449;&#12452;&#12523;&#12434;&#36984;&#25246;
#&#12300;tcltk&#12301;&#12497;&#12483;&#12465;&#12540;&#12472;&#12434;&#21033;&#29992;
library("tcltk")
paste0(as.character(tkgetOpenFile(title = "&#12501;&#12449;&#12452;&#12523;&#12434;&#36984;&#25246;",
                                  filetypes = '{"XXXX&#12501;&#12449;&#12452;&#12523;" {".&#25313;&#24373;&#23376;"}}',
                                  initialfile = c("*.&#25313;&#24373;&#23376;"))))

#&#12501;&#12457;&#12523;&#12480;&#12434;&#36984;&#25246;
#&#12300;tcltk&#12301;&#12497;&#12483;&#12465;&#12540;&#12472;&#12434;&#21033;&#29992;
library("tcltk")
paste(as.character(tkchooseDirectory(title = "&#12501;&#12457;&#12523;&#12480;&#12434;&#36984;&#25246;"), sep = "", collapse =""))

#NA&#20516;&#12434;&#38500;&#12367;:complete.case&#12467;&#12510;&#12531;&#12489;
#data.frame&#12394;&#12393;&#12395;&#12418;&#36969;&#24540;&#12391;&#12365;&#12414;&#12377;
x <- c(1, 2, 3, NA, 5)
x
[1]  1  2  3 NA  5
x[complete.cases(x)]
[1] 1 2 3 5

#&#20351;&#29992;&#29872;&#22659;&#12398;OS&#12434;&#21462;&#24471;
.Platform$OS.type
[1] "unix"

#&#20316;&#26989;&#12501;&#12457;&#12523;&#12480;&#12434;&#21462;&#24471;
getwd()

#&#20316;&#26989;&#12501;&#12457;&#12523;&#12480;&#12434;&#35373;&#23450;
setwd()

#&#32368;&#12426;&#36820;&#12375;&#20966;&#29702;
for(n in 1:10){
  
  show(1 + n)
  
}

[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
[1] 11

少しでも、あなたのウェブや実験の解析が楽になりますように!!

タイトルとURLをコピーしました