SlideShare uma empresa Scribd logo
1 de 4
#-------------------------------------------------------
# 演習 1) まず電卓として
#-------------------------------------------------------
1 + 2 + 5 + 10
4 * 185
2^5 # べき乗の計算
sqrt(2) # 平方根
log10(1000) # 常用対数の計算
exp(10) + exp(2)
sum(1:100) # 1 から 100 までの整数を全て合計する
round(sqrt(2)) # 四捨五入
round(sqrt(2), digits=2) # 少数点第三位を四捨五入
ceiling(sqrt(2)) # 切り上げ
floor(1.9) # 切り捨て
# 式が長すぎる場合、続くことがわかるようなところで改行すれば、続きを次の行に書いても大丈夫
1+2+3+
4+5+6
# 二つ以上の計算式を一行に書くときは、セミコロンを使う
1+2+3; 4+5+6;
# 他にも、各自でいろいろ試してみてください
#-------------------------------------------------------
# 演習 2) 様々なデータ型の変数
#-------------------------------------------------------
#-----------------------------
# 実数データと整数データ
#-----------------------------
x1 <- 1
x2 <- 6.78
mode(x1) # numeric : 数字
mode(x2) # numeric : 数字
# 整数に変換
as.integer(x1)
as.integer(x2) # 少数点部分を落として強制的に整数に
x1 <- as.integer(x1) # ここで x1 を整数型にしておく
#-----------------------------
# 文字データ
#-----------------------------
x3 <- c("ab", "cde", "f")
x4 <- "1234" # ""で囲むと数字でも文字扱い
mode(x3) # "character"
mode(x4) # "character"
# 文字を整数に変換してみる
as.integer(x3) # 中身がアルファベットなので警告が出て全て NA に変換される
as.integer(x4) # 文字列の中身が数字だけであれば変換可能
#-----------------------------
# 論理値データ
#-----------------------------
x5 <- TRUE
x6 <- FALSE
mode(x5) # "logical"
mode(x6) # "logical"
#-------------------------------------------------------
# 演習 3) 計算できるデータ型は?
#-------------------------------------------------------
# 演習 2 で作成した x1--x6 を使います。
x1 * 1.5 # ○
x2 * 1.5 # ○
x3 * 1.5 # ×
x4 * 1.5 # ×
x5 * 1.5 # ○
x6 * 1.5 # ○
# ※ 論理値データは、True は 1、False は 0 として計算されることに注意!
# x4 は整数変換可能なので型変換すれば計算可能
as.integer(x4) * 1.5 # ○
# 整数型に 1.5 を掛けると?
x7 <- x1 * 1.5
mode(x7)
# x7 は自動的に実数型(numeric)になり計算に問題はおこらない
#-------------------------------------------------------
# 演習 4) 様々なデータの構造
#-------------------------------------------------------
#-----------------------------
# 数値・文字列ベクトル
#-----------------------------
y1 <- c(1, 2, 3)
y2 <- c("a", "bcd", "ef", "ghijkl")
is.vector(y1); is.vector(y2) # 型は整数と文字列だが、どちらも構造はベクトル
#-----------------------------
# 数値や文字列の行列の作成
#-----------------------------
# 数値の行列
y3 <- matrix(1:9, nc=3)
y3 # 要素は縦並びに格納される
y3[2,2] # 2 行 2 列の要素を取り出す
y3[3,] # 3 行目の要素全てを取り出す
y3[,3] # 3 列目の要素全てを取り出す
y3 <- matrix(1:9, nc=3, nr=4)
y3
# 要素が足りないときは要素が自動的に再利用される!
# 文字列の行列
(y4 <- matrix(c("a", "bc", "def", "ef", "g", "h"), nr=2))
#-----------------------------
# 配列
#-----------------------------
(y5 <- array(1:24, c(2,3,4)))
# 個別の要素の指定方法
y5[1,1,1]
# 要素の部分的な指定方法
y5[,,-1]
#-----------------------------
# リスト
#-----------------------------
(y6 <- list(y1, y2, y3, y4, y5))
# 個別の要素の指定方法
y6[[2]][2]
# さらに構成要素に名前をつける
names(y6) <- c("y1", "y2", "y3", "y4", "y5")
y6
# つけた個別要素名を使った指定の方法
y6$y5[1,2,1]
# 構造確認の方法
str(y6)
#-----------------------------
# cbind, rbind
#-----------------------------
(z1 <- c(1,2,3)) # 要素数 3 の縦ベクトル
(z2 <- matrix(1:9, nc=3, nr=4)) # 4×3 の行列
(z3 <- rbind(z1, z2)) # 5×3 の行列
(z4 <- c(1,2,3,4,5)) # 要素数 5 の縦ベクトル
(z5 <- cbind(z3, z4)) # 5×4 の行列
z5[2,4] # 2
#########################################################

Mais conteúdo relacionado

Mais procurados (9)

第三回R勉強会
第三回R勉強会第三回R勉強会
第三回R勉強会
 
すごいHaskell読書会 in 大阪 2週目 #5 第5章:高階関数 (2)
すごいHaskell読書会 in 大阪 2週目 #5 第5章:高階関数 (2)すごいHaskell読書会 in 大阪 2週目 #5 第5章:高階関数 (2)
すごいHaskell読書会 in 大阪 2週目 #5 第5章:高階関数 (2)
 
第2回R勉強会1
第2回R勉強会1第2回R勉強会1
第2回R勉強会1
 
テーマ「最適化 その2」
テーマ「最適化 その2」テーマ「最適化 その2」
テーマ「最適化 その2」
 
C++でHello worldを書いてみた
C++でHello worldを書いてみたC++でHello worldを書いてみた
C++でHello worldを書いてみた
 
Apg4b 2.05.再帰 sum関数の動作説明
Apg4b 2.05.再帰 sum関数の動作説明Apg4b 2.05.再帰 sum関数の動作説明
Apg4b 2.05.再帰 sum関数の動作説明
 
バイナリ駄洒落コンテスト
バイナリ駄洒落コンテストバイナリ駄洒落コンテスト
バイナリ駄洒落コンテスト
 
Scalaの限定継続の応用と基本
Scalaの限定継続の応用と基本Scalaの限定継続の応用と基本
Scalaの限定継続の応用と基本
 
Adding simpl GVN path into GHC
Adding simpl GVN path into GHCAdding simpl GVN path into GHC
Adding simpl GVN path into GHC
 

Destaque

Destaque (11)

Rプログラミング01 はじめの一歩
Rプログラミング01 はじめの一歩Rプログラミング01 はじめの一歩
Rプログラミング01 はじめの一歩
 
ロジカル・シンキング & システム設計・プログラミングについて
ロジカル・シンキング & システム設計・プログラミングについてロジカル・シンキング & システム設計・プログラミングについて
ロジカル・シンキング & システム設計・プログラミングについて
 
Rデモ02_入出力編2016
Rデモ02_入出力編2016Rデモ02_入出力編2016
Rデモ02_入出力編2016
 
Rプログラミング02 データ入出力編
Rプログラミング02 データ入出力編Rプログラミング02 データ入出力編
Rプログラミング02 データ入出力編
 
Functional Way
Functional WayFunctional Way
Functional Way
 
MP in Haskell
MP in HaskellMP in Haskell
MP in Haskell
 
HTTP/2 in nginx(2016/3/11 社内勉強会)
HTTP/2 in nginx(2016/3/11 社内勉強会)HTTP/2 in nginx(2016/3/11 社内勉強会)
HTTP/2 in nginx(2016/3/11 社内勉強会)
 
Rプログラミング03 データ分析編
Rプログラミング03 データ分析編Rプログラミング03 データ分析編
Rプログラミング03 データ分析編
 
From Java To Clojure (English version)
From Java To Clojure (English version)From Java To Clojure (English version)
From Java To Clojure (English version)
 
ネットワーク概論 サーバの構築理論
ネットワーク概論 サーバの構築理論ネットワーク概論 サーバの構築理論
ネットワーク概論 サーバの構築理論
 
おいしいLisp
おいしいLispおいしいLisp
おいしいLisp
 

Mais de wada, kazumi

Rによる富士山関数の描き方
Rによる富士山関数の描き方Rによる富士山関数の描き方
Rによる富士山関数の描き方
wada, kazumi
 

Mais de wada, kazumi (20)

Rによる繰り返しの並列処理
Rによる繰り返しの並列処理Rによる繰り返しの並列処理
Rによる繰り返しの並列処理
 
2018Rユーザ会用
2018Rユーザ会用2018Rユーザ会用
2018Rユーザ会用
 
Ⅳ. 可視化事例集 2017
Ⅳ. 可視化事例集 2017Ⅳ. 可視化事例集 2017
Ⅳ. 可視化事例集 2017
 
Ⅲ. 資料編 2017
Ⅲ. 資料編 2017Ⅲ. 資料編 2017
Ⅲ. 資料編 2017
 
Ⅱ. データ分析編 2017
Ⅱ. データ分析編 2017Ⅱ. データ分析編 2017
Ⅱ. データ分析編 2017
 
Ⅰ. Rの基礎 2017
Ⅰ. Rの基礎 2017Ⅰ. Rの基礎 2017
Ⅰ. Rの基礎 2017
 
2017Rユーザ会用
2017Rユーザ会用2017Rユーザ会用
2017Rユーザ会用
 
統計環境R_データ分析編2016
統計環境R_データ分析編2016統計環境R_データ分析編2016
統計環境R_データ分析編2016
 
統計環境R_はじめの一歩2016
統計環境R_はじめの一歩2016統計環境R_はじめの一歩2016
統計環境R_はじめの一歩2016
 
統計環境R_データ入出力編2016
統計環境R_データ入出力編2016統計環境R_データ入出力編2016
統計環境R_データ入出力編2016
 
自然科学の統計学2.2 slideshare
自然科学の統計学2.2 slideshare自然科学の統計学2.2 slideshare
自然科学の統計学2.2 slideshare
 
Rプログラミング03 「データ分析編」デモ
Rプログラミング03 「データ分析編」デモRプログラミング03 「データ分析編」デモ
Rプログラミング03 「データ分析編」デモ
 
Rプログラミング02 「データ入出力編」デモ
Rプログラミング02 「データ入出力編」デモRプログラミング02 「データ入出力編」デモ
Rプログラミング02 「データ入出力編」デモ
 
Rプログラミング01 「はじめの一歩」 演習デモ
Rプログラミング01 「はじめの一歩」 演習デモRプログラミング01 「はじめの一歩」 演習デモ
Rプログラミング01 「はじめの一歩」 演習デモ
 
Rでのtry関数によるエラー処理
Rでのtry関数によるエラー処理Rでのtry関数によるエラー処理
Rでのtry関数によるエラー処理
 
Rによる大規模データのプロット
Rによる大規模データのプロットRによる大規模データのプロット
Rによる大規模データのプロット
 
擬似ミクロデータについて
擬似ミクロデータについて擬似ミクロデータについて
擬似ミクロデータについて
 
Rによる富士山関数の描き方
Rによる富士山関数の描き方Rによる富士山関数の描き方
Rによる富士山関数の描き方
 
Rによるprincomp関数を使わない主成分分析
Rによるprincomp関数を使わない主成分分析Rによるprincomp関数を使わない主成分分析
Rによるprincomp関数を使わない主成分分析
 
基本統計量について
基本統計量について基本統計量について
基本統計量について
 

Último

The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
 

Último (7)

2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 

Rデモ01_はじめの一歩2016

  • 1. #------------------------------------------------------- # 演習 1) まず電卓として #------------------------------------------------------- 1 + 2 + 5 + 10 4 * 185 2^5 # べき乗の計算 sqrt(2) # 平方根 log10(1000) # 常用対数の計算 exp(10) + exp(2) sum(1:100) # 1 から 100 までの整数を全て合計する round(sqrt(2)) # 四捨五入 round(sqrt(2), digits=2) # 少数点第三位を四捨五入 ceiling(sqrt(2)) # 切り上げ floor(1.9) # 切り捨て # 式が長すぎる場合、続くことがわかるようなところで改行すれば、続きを次の行に書いても大丈夫 1+2+3+ 4+5+6 # 二つ以上の計算式を一行に書くときは、セミコロンを使う 1+2+3; 4+5+6; # 他にも、各自でいろいろ試してみてください #------------------------------------------------------- # 演習 2) 様々なデータ型の変数 #------------------------------------------------------- #----------------------------- # 実数データと整数データ #----------------------------- x1 <- 1 x2 <- 6.78 mode(x1) # numeric : 数字 mode(x2) # numeric : 数字 # 整数に変換 as.integer(x1) as.integer(x2) # 少数点部分を落として強制的に整数に x1 <- as.integer(x1) # ここで x1 を整数型にしておく #-----------------------------
  • 2. # 文字データ #----------------------------- x3 <- c("ab", "cde", "f") x4 <- "1234" # ""で囲むと数字でも文字扱い mode(x3) # "character" mode(x4) # "character" # 文字を整数に変換してみる as.integer(x3) # 中身がアルファベットなので警告が出て全て NA に変換される as.integer(x4) # 文字列の中身が数字だけであれば変換可能 #----------------------------- # 論理値データ #----------------------------- x5 <- TRUE x6 <- FALSE mode(x5) # "logical" mode(x6) # "logical" #------------------------------------------------------- # 演習 3) 計算できるデータ型は? #------------------------------------------------------- # 演習 2 で作成した x1--x6 を使います。 x1 * 1.5 # ○ x2 * 1.5 # ○ x3 * 1.5 # × x4 * 1.5 # × x5 * 1.5 # ○ x6 * 1.5 # ○ # ※ 論理値データは、True は 1、False は 0 として計算されることに注意! # x4 は整数変換可能なので型変換すれば計算可能 as.integer(x4) * 1.5 # ○ # 整数型に 1.5 を掛けると? x7 <- x1 * 1.5 mode(x7) # x7 は自動的に実数型(numeric)になり計算に問題はおこらない #------------------------------------------------------- # 演習 4) 様々なデータの構造 #-------------------------------------------------------
  • 3. #----------------------------- # 数値・文字列ベクトル #----------------------------- y1 <- c(1, 2, 3) y2 <- c("a", "bcd", "ef", "ghijkl") is.vector(y1); is.vector(y2) # 型は整数と文字列だが、どちらも構造はベクトル #----------------------------- # 数値や文字列の行列の作成 #----------------------------- # 数値の行列 y3 <- matrix(1:9, nc=3) y3 # 要素は縦並びに格納される y3[2,2] # 2 行 2 列の要素を取り出す y3[3,] # 3 行目の要素全てを取り出す y3[,3] # 3 列目の要素全てを取り出す y3 <- matrix(1:9, nc=3, nr=4) y3 # 要素が足りないときは要素が自動的に再利用される! # 文字列の行列 (y4 <- matrix(c("a", "bc", "def", "ef", "g", "h"), nr=2)) #----------------------------- # 配列 #----------------------------- (y5 <- array(1:24, c(2,3,4))) # 個別の要素の指定方法 y5[1,1,1] # 要素の部分的な指定方法 y5[,,-1] #----------------------------- # リスト #----------------------------- (y6 <- list(y1, y2, y3, y4, y5)) # 個別の要素の指定方法 y6[[2]][2]
  • 4. # さらに構成要素に名前をつける names(y6) <- c("y1", "y2", "y3", "y4", "y5") y6 # つけた個別要素名を使った指定の方法 y6$y5[1,2,1] # 構造確認の方法 str(y6) #----------------------------- # cbind, rbind #----------------------------- (z1 <- c(1,2,3)) # 要素数 3 の縦ベクトル (z2 <- matrix(1:9, nc=3, nr=4)) # 4×3 の行列 (z3 <- rbind(z1, z2)) # 5×3 の行列 (z4 <- c(1,2,3,4,5)) # 要素数 5 の縦ベクトル (z5 <- cbind(z3, z4)) # 5×4 の行列 z5[2,4] # 2 #########################################################