R言語データ分析

R言語とデータ分析の概要

R言語はオープンソースのスクリプト言語で、1993年に生まれました。Rシステムはオープンソースであり、無料です。
データ分析プロセス:
データのインポート、データのクリーニング、データの探索、データのモデリング、視覚化、レポートの発見

基本操作コマンド

注:*にパッケージ名を記入してください

関数 説明
getwed() 現在の作業ディレクトリを表示
セットする () 現在の作業ディレクトリを変更します
ls() 現在のワークスペースのすべてのオブジェクトを表示する
str() オブジェクト構造の表示
ls.str() オブジェクトの各変数の構造を表示する
存在する() 現在のワークスペースにオブジェクトがあるかどうか
rm() 1つまたは複数のオブジェクトを削除する
q() Rを終了します。これの前に、ワークスペースを保存するかどうか尋ねられます
.libPaths() コンピューター内のフォルダーの特定のパスを表示する
install.packages() インストールパッケージ
図書館 () インストール済みパッケージのリストを表示する
探す() ロードされたパッケージのリストを表示する
図書館("*") このパッケージをロード
detach( "packages:*") パッケージを削除
remove.packages( "*") パッケージをアンインストール

基本的なデータ型

の種類 説明 判定機能 R言語フォーム
論理的 論理値を表すバイナリデータには、TRUEまたはFALSEの2つの値しかありません。Rでは、論理式の割り当てにより、2つの数値のサイズを比較するなど、論理データが生成されます。2> 1はTRUEに等しい is.logocal() TRUE、2 <= 1
浮動小数点 1、1.1など、10進数で表される実数は、計算に使用される基本的なデータ形式です。 is.double() 3.14
整数 1、2、3などの整数の記述に使用されます。R言語では、整数の後に文字Lが追加されて整数を表すことに注意してください。そうでない場合、浮動小数点と見なされます。 is.integer() 3L
文字タイプ 文字列を表すために使用されます is.character() 「こんにちは」、「3.14」
複数 虚数部がiで表される複雑な値を表すために使用されます(例:2 + 3i)。 is.complex() 1 + i
プリミティブ 元のバイトを保存するために使用されます。各バイトは、A3などの2つの16進数で表されます。 is.raw() 00

データ型変換

論理型-整数型-浮動小数点型-文字型

オペレーター

ここに画像の説明を挿入

Rのデータ構造

➢ベクトル➢行列➢配列➢リスト➢データフレーム➢因子
ベクトル関数:
✓ベクトルの
作成✓要素への
アクセス✓要素の
追加✓要素の
削除✓ベクトルの長さの取得

コード表示

#基本数据类型
getwd()

install.packages("stringr")
.libPaths()
library()
search()
library("stringr")
str_length ("Hello R!")

detach("package:stringr")
str_length ("Hello R!")

remove.packages("stringr")
library("stringr")


#基本数据类型
num <- 100;num
is.integer(num)#?
is.double(num)#?
typeof(num)
num2 <- 100L
typeof(num2)


is.logical(TRUE)
is.logical(T)
is.logical(5)#?
is.logical(0)#?
is.character("R program")



#数据类型转换
logi_vec <- T
typeof(logi_vec)
int_vec <- c(100L,200L)
typeof(int_vec)
double_vec <- c(10,20)
typeof(double_vec)
chr_vec <-c("伟大的","中国人民")
typeof(chr_vec)
typeof(c(logi_vec,int_vec))#?验证逻辑型和整数型
typeof(c(int_vec,double_vec))#?验证逻辑型和整数型
typeof(c(double_vec,chr_vec))#?验证逻辑型和整数型
typeof(c(logi_vec,int_vec,double_vec,chr_vec))#?验证逻辑型和整数型

1 == '1' 



#在运算过程中,数据类型自动转换
2*T  #?
10+FALSE #?
10+TRUE
exp(F) #?
10 & 0 #?
10 | 0 #?


#使用as***函数强制转换数据类型
as.numeric(F)
as.numeric("1000.01")
as.numeric("你好")
as.logical(0)
as.logical(10)
as.logical(-10)
as.logical("T")
as.logical("F")
as.character(c(T,F,TRUE,FALSE))
as.character(10.99)



#特殊值
#NA
a <- 100
a[1]
a[2]
num_vec <- c(1,2)
length(num_vec) <- 4
num_vec
#Inf 无穷大
10/0
-10/0

0/0
Inf-Inf

num_vec1 <- c(1,5,NaN)
length(num_vec1)
num_vec2 <- c(1,5,NULL)
length(num_vec2)


#运算符
#逻辑运算 & vs &&
logi_vec1 <- c(T,F,T)
logi_vec2 <- c(F,T,T)
logi_vec1 & logi_vec2
logi_vec1 && logi_vec2

logi_vec1 <- c(T,F,T) #向量长度不同,短的循环补齐
logi_vec2 <- c(T,T,T,F)
logi_vec1 & logi_vec2
logi_vec1 && logi_vec2


logi_vec1 <- c(T,F,T)

#逻辑运算| vs ||
logi_vec1 <- c(T,F,T)
logi_vec2 <- c(F,T,T)
logi_vec1 | logi_vec2
logi_vec1  || logi_vec2


a <-T
b <- 10L
c <- 20
d <-"R";
typeof(c(a,b,c,d))



#向量
vec <- c(1,5,6,8,9)

#访问元素
vec[1]
vec[0]
vec[2:3]
vec[2:5]
vec[c(1,3)]#访问不连续的怎么办
vec[c(1,3,2)] #想重复访问
#添加元素
vec
vec <- c(vec[1:2],10,vec[3])
vec
#删除元素
vec
vec <-vec[-3]
vec
#获取向量长度
vec <- letters
vec
length(vec)
vec[-length(vec)] #删除x,y,z怎么做?
vec[-length(vec):-length(vec)+2]
-length(vec):-length(vec)+2#注意加括号
-length(vec):(-length(vec)+2)
vec[-length(vec) : (-length(vec)+2)]

#创建向量
#Q:创建向量的方法
1:5
1:-5
c(1L,2.0,"a")
67#13579,创建等差数列
?seq
example(seq)
seq(1,9,by =2)

#将某向量重复多次,创建向量
vec <-1:3
#1 2 3 1 2 3 1 2 3 
?rep
example(rep)
rep(vec,3)
#111222333
rep(vec,each = 3)
#创建长度为0的向量
new.vec <- c()
length(new.vec)
new.vec
#判断某班级的学生的年龄是不是都是18岁以上?
stu <- sample(c(17,18,19),10,replace = T)
stu
all(stu >= 18)
stu <- sample(c(18,19),10,replace = T)
stu
any(stu<18)

#any all 你想想可以应用到什么场景中?

#向量运算,算术运算,关运算,逻辑运算
vec1 <- c(1,2)
vec2<- c(10,20)
vec1 * vec2
vec1 == vec2
vec | vec2

#向量运算–循环补齐
vec1 <- c (1,2)
vec2<-c (10,20,30)
vec1 + vec2
vec2<- c(10,20,30,40)
vec1 + vec2

人間の目が前で成長するのはなぜかというのが楽しみです。
ドラえもんがお出迎え!

おすすめ

転載: blog.csdn.net/m0_50150737/article/details/108436139
おすすめ