R データフレーム

データフレーム(Data frame)は、私たちがよく言う「テーブル」と理解できます。

データフレームは R 言語のデータ構造であり、特別な2次元リストです。

データフレームの各列には一意の列名があり、長さはすべて等しくなります。同じ列内のデータ型は一致している必要がありますが、異なる列のデータ型は異なっていても構いません。

R 言語のデータフレームは data.frame() 関数を使用して作成します。構文は次のとおりです:

data.frame(…, row.names = NULL, check.rows = FALSE,
           check.names = TRUE, fix.empty.names = TRUE,
           stringsAsFactors = default.stringsAsFactors())
  • …: 列ベクトル。任意の型(文字型、数値型、論理型)にすることができます。通常は tag = value の形式で表され、value のみでも構いません。
  • row.names: 行名。デフォルトは NULL で、単一の数値、文字列、または文字列と数値のベクトルに設定できます。
  • check.rows: 行の名前と長さが一致しているかどうかを検査します。
  • check.names: データフレームの変数名が正当かどうかを検査します。
  • fix.empty.names: 名前のないパラメータに自動的に名前を設定するかどうかを設定します。
  • stringsAsFactors: ブール値。文字を因子に変換するかどうかを指定します。初期設定のデフォルト値は TRUE ですが、オプション(stringsAsFactors=FALSE)を設定することで変更できます。

次に、名前、社員番号、月給を含む簡単なデータフレームを作成します:

例

table = data.frame(
名前= c(张三, 李四),
社員番号= c("001","002"),
月給= c(1000, 2000)
   
)
print(table) # table データを確認

上記のコードを実行すると、出力結果は次のとおりです:

姓名 工号 月薪
1 张三  001 1000
2 李四  002 2000

データフレームのデータ構造は、str()関数で表示できます:

例

table = data.frame(
名前= c(张三, 李四),
社員番号= c("001","002"),
月給= c(1000, 2000)
)
# データ構造を取得
str(table)

上記のコードを実行すると、出力結果は次のとおりです:

'data.frame':   2 obs. of  3 variables:
 $ 姓名: chr  "张三" "李四"
 $ 工号: chr  "001" "002"
 $ 月薪: num  1000 2000

summary()データフレームの概要情報を表示できます:

例

table = data.frame(
名前= c(张三, 李四),
社員番号= c("001","002"),
月給= c(1000, 2000)
   
)
# 概要を表示
print(summary(table))  

上記のコードを実行すると、出力結果は次のとおりです:

姓名               工号                月薪     
Length:2           Length:2           Min.   :1000  
Class :character   Class :character   1st Qu.:1250  
Mode  :character   Mode  :character   Median :1500  
                                      Mean   :1500  
                                      3rd Qu.:1750  
                                      Max.   :2000  

指定した列を抽出することもできます:

例

table = data.frame(
名前= c(张三, 李四),
社員番号= c("001","002"),
月給= c(1000, 2000)
)
# 指定した列を抽出
result <- data.frame(table$名前,table$月給)
print(result)

上記のコードを実行すると、出力結果は次のとおりです:

table.姓名 table.月薪
1       张三       1000
2       李四       2000

次の形式で最初の2行を表示します:

例

table = data.frame(
名前= c(张三, 李四,王五),
社員番号= c("001","002","003"),
月給= c(1000, 2000,3000)
)
print(table)
# 最初の2行を抽出
print("---最初の2行を出力----")
result <- table[1:2,]
print(result)

上記のコードを実行すると、出力結果は次のとおりです:

姓名 工号 月薪
1 张三  001 1000
2 李四  002 2000
3 王五  003 3000
[1] "---输出前面两行----"
  姓名 工号 月薪
1 张三  001 1000
2 李四  002 2000

座標のような形式で指定した行の特定の列のデータを読み取ることができます。以下では、2行目と3行目の1列目と2列目のデータを読み取ります:

例

table = data.frame(
名前= c(张三, 李四,王五),
社員番号= c("001","002","003"),
月給= c(1000, 2000,3000)
)
# 2行目と3行目の1列目と2列目のデータを読み取る:
result <- table[c(2,3),c(1,2)]
print(result)

上記のコードを実行すると、出力結果は次のとおりです:

姓名 工号
2 李四  002
3 王五  003

データフレームの拡張

既存のデータフレームを拡張できます。次の例では、部門列を追加します:

例

table = data.frame(
名前= c(张三, 李四,王五),
社員番号= c("001","002","003"),
月給= c(1000, 2000,3000)
)
# 部門列を追加
table$部門<- c(運営,技術,編集)

print(table)

上記のコードを実行すると、出力結果は次のとおりです:

姓名 工号 月薪 部门
1 张三  001 1000 运营
2 李四  002 2000 技术
3 王五  003 3000 编辑

私たちは使用できますcbind()関数は複数のベクトルを1つのデータフレームに結合します:

例

# ベクトルを作成
sites <- c("Google","サンプル","Taobao")
likes <- c(222,111,123)
url <- c("www.google.com","www.example.com","www.taobao.com")

# ベクトルをデータフレームに結合
addresses <- cbind(sites,likes,url)

# データフレームを確認
print(addresses)

上記のコードを実行すると、出力結果は次のとおりです:

     sites    likes url             
[1,] "Google" "222" "www.google.com"
[2,] "サンプル" "111" "www.example.com"
[3,] "Taobao" "123" "www.taobao.com"

2つのデータフレームを結合する場合は、次を使用できますrbind()関数:

例

table = data.frame(
名前= c(张三, 李四,王五),
社員番号= c("001","002","003"),
月給= c(1000, 2000,3000)
)
newtable = data.frame(
名前= c(小明, 小白),
社員番号= c("101","102"),
月給= c(5000, 7000)
)
# 2つのデータフレームを結合
result <- rbind(table,newtable)
print(result)

上記のコードを実行すると、出力結果は次のとおりです:

姓名 工号 月薪
1 张三  001 1000
2 李四  002 2000
3 王五  003 3000
4 小明  101 5000
5 小白  102 7000
その他の拡張