列の値に基づいてデータフレームの行を返します。Rスクリプト

ダニエル・ルセナ

私のスクリプトは.xlsxワークシートを読み取り、最後の40行の欠陥数のIチャート、MRチャート、および容量グラフを含む.pdfファイルを作成します。スプレッドシートには2つの列があり、1つ目は材料番号、2つ目は欠陥数です。

ユーザーが材料番号(catコマンド)を記述し、システムがそれぞれの欠陥数に基づいてグラフィックを描画するように、スクリプトを変更したいと思います。

例:

ユーザーが番号5、1、3、および8を入力すると、スクリプトは、材料番号とそれぞれの欠陥(1198、1201、1204、1201)を使用して「Data1」という新しいテーブルを作成します。

Number  Defect
5       1198
1       1201
3       1204
8       1201

グラフィックの部分はすでに完了しています。catコマンドによって作成されたデータを収集するためにデータフレームを作成しようとしましたが、それをワークシートと関連付ける方法がわかりません。使っwhichてみましたsubsetが、うまくいきませんでした。

私たちを手伝ってくれますか?

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

宜しくお願いします。


変更前のコード。

cat("\f")

#install.packages(c("qcc", "openxlsx"))
library(qcc)
library(openxlsx)

qcc.options(bg.margin = "white")

#-----------------------------------------------
cat("How many sigmas do you want use for your calculus?")
NSigmas <- scan(n = 1)
`Significant algharisms`<-5

#----------------------------------------------------------------
#Control chart

Spreadsheet1 <- read.xlsx("Chord height at R42000.xlsx", sheet = "BD", 
    startRow = 1, colNames = TRUE)
Data1 <- tail(Spreadsheet1, 40)
`Chord height at R42000` <- Data1$Defect

pdf("Finish - Chord height at R42000.pdf", paper = "a4r", width = 21 / 2.54, 
    height = 29.7 / 2.54, title = "Finish - Chord height at R42000.pdf")

`I1 chart` <- qcc(`Chord height at R42000`, type = "xbar.one", nsigmas = (NSigmas/2), 
    xlab = "Observations", ylab = "Indivudual values", title = "I Chart", 
    digits = `Significant algharisms`)
`Y axis MR1` <- matrix(cbind(`Chord height at R42000`[1:length(`Chord height at R42000`)-1], 
    `Chord height at R42000`[2:length(`Chord height at R42000`)]), ncol = 2)
`MR chart` <- qcc(`Y axis MR1`, type = "R", nsigmas = (NSigmas / 2), xlab = "Observations", 
    ylab = "Moving range", title = "Moving range Chart", digits = `Significant algharisms`)
CapabilidadeI1 <- process.capability(`I1 chart`, spec.limits = c(1198, 1211), 
    nsigmas = (NSigmas / 2), target = ((1198 + 1211) / 2))

dev.off()

変更後のコード。「サブセット」または「どちら」を使用してテストする場合は、コメントを外してください。

cat("\f")

#install.packages(c("qcc", "openxlsx"))
library(qcc)
library(openxlsx)

qcc.options(bg.margin = "white")

#-----------------------------------------------
cat("How many sigmas do you want use for your calculus?")
NSigmas <- scan(n = 1)
cat("What materials would you like to evaluate? Exit pressing enter twice.")
Materials<-scan()
Materials2<-data.frame(Materials)
`Significant algharisms` <- 5

#----------------------------------------------------------------
#Control chart

Spreadsheet1 <- read.xlsx("Chord height at R42000.xlsx", sheet = "BD", 
    startRow = 1, colNames = TRUE)

# Data1<-Spreadsheet1[which(Spreadsheet1[,1]==Materials2[,1]),]
# Data1<-subset(Spreadsheet1, Spreadsheet1$Number==Materials2$Materials)

## The variable don't store all numbers I type with "cat" command.

`Chord height at R42000` <- Data1$Defect

pdf("Finish - Chord height at R42000.pdf", paper = "a4r", width = 21 / 2.54, 
    height = 29.7 / 2.54, title = "Finish - Chord height at R42000.pdf")

`I1 chart` <- qcc(`Chord height at R42000`, type = "xbar.one", nsigmas = (NSigmas/2), 
    xlab = "Observations", ylab = "Indivudual values", title = "I Chart", 
    digits = `Significant algharisms`)
`Y axis MR1` <- matrix(cbind(`Chord height at R42000`[1:length(`Chord height at R42000`)-1], 
    `Chord height at R42000`[2:length(`Chord height at R42000`)]), ncol = 2)
`MR chart` <- qcc(`Y axis MR1`, type = "R", nsigmas = (NSigmas / 2), xlab = "Observations", 
    ylab = "Moving range", title = "Moving range Chart", digits = `Significant algharisms`)
CapabilidadeI1 <- process.capability(`I1 chart`, spec.limits = c(1198, 1211), 
    nsigmas = (NSigmas / 2), target = ((1198 + 1211) / 2))

dev.off()

Spreadsheet1-「Finish-R42000での弦の高さ」に名前を変更します。

Number  Defect
2       1204
5       1198
9       1205
1       1201
4       1198
3       1204
6       1207
8       1201
10      1197
11      1203
12      1199
13      1204
14      1204
19      1208
22      1197
28      1202
30      1209
24      1205
21      1202
25      1202
20      1204
26      1200
65      1205
joel.wilson
dt=fread("Number  Defect
2       1204
5       1198
9       1205
1       1201
4       1198
3       1204
6       1207
8       1201
10      1197
11      1203
12      1199
13      1204
14      1204
19      1208
22      1197
28      1202
30      1209
24      1205
21      1202
25      1202
20      1204
26      1200
65       1205")

d = scan(n=5)
1: 3
2: 7
3: 11
4: 65
5: 20
Read 5 items
> d
[1]  3  7 11 65 20

dt[which(dt$Number %in% d),]
   Number Defect
1:      3   1204
2:     11   1203
3:     20   1204
4:     65   1205

「7」には対応する欠陥がなかったため、表示されませんでした

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

df列を反復処理し、行インデックス、列参照に基づいてデータフレームの戻り値を返します

分類Dev

Pandasデータフレームのリストに基づいて列の値を比較します

分類Dev

リスト値に基づいてPandasデータフレームの行を更新します

分類Dev

列の最大のインデックスと値に基づいて、データフレームの行をフィルタリングします

分類Dev

列の値に基づいてリストからデータフレームを選択します

分類Dev

R:データフレームの列の行値に基づいて行を削除します

分類Dev

オブジェクトの個別のリストの値に基づいて、リストの各データフレームに列を追加します

分類Dev

データフレーム操作:データフレームの特定の列をキー値列に基づいてリストに変換します

分類Dev

列の値に基づいてデータフレームを分割します-IDのリストをループします

分類Dev

列の共通値に基づいて、大きなデータフレームをデータフレームのリストに分割します

分類Dev

R行の値に基づいてデータフレームにインデックス列を追加します

分類Dev

列の値に基づいてデータフレームの行を返す-R

分類Dev

列の値に基づいてリストにデータフレームをドロップする

分類Dev

前の複数の行/列の値に基づいてデータフレームの行を削除します

分類Dev

pandasデータフレームからのしきい値に基づいて上位n行を返します

分類Dev

列の複数の値に基づいてデータフレームに新しい行を作成します

分類Dev

行の最初の値に基づいて、データフレームに新しい列を追加します

分類Dev

R-既存の列と一致する値のインデックスに基づいて新しい列データフレームを作成します

分類Dev

Rのデータフレームの列条件に基づいてベクトルを作成します

分類Dev

条件に基づいてデータフレームの値をリストに移動します

分類Dev

ブール値のリストに基づいてデータフレームサブセットを返す

分類Dev

Rは、異なる列のテキストに基づいて、データフレーム列の数を繰り返して増やします

分類Dev

他の列のデータフレームrの値に基づいて列を追加します

分類Dev

複数の列と行の基準に基づいてRデータフレームを展開します

分類Dev

別の列の進行値に基づいてデータフレーム列を作成しますか?

分類Dev

条件と値のリストに基づいてpysparkデータフレームを作成します

分類Dev

ソースとしてのベクトルに基づいて、データフレームの列と行の欠落値を補完する方法

分類Dev

既存の列のカテゴリ値に基づいてデータフレームに列を追加します

分類Dev

データフレームの任意の列の値に基づいて行を削除します

Related 関連記事

  1. 1

    df列を反復処理し、行インデックス、列参照に基づいてデータフレームの戻り値を返します

  2. 2

    Pandasデータフレームのリストに基づいて列の値を比較します

  3. 3

    リスト値に基づいてPandasデータフレームの行を更新します

  4. 4

    列の最大のインデックスと値に基づいて、データフレームの行をフィルタリングします

  5. 5

    列の値に基づいてリストからデータフレームを選択します

  6. 6

    R:データフレームの列の行値に基づいて行を削除します

  7. 7

    オブジェクトの個別のリストの値に基づいて、リストの各データフレームに列を追加します

  8. 8

    データフレーム操作:データフレームの特定の列をキー値列に基づいてリストに変換します

  9. 9

    列の値に基づいてデータフレームを分割します-IDのリストをループします

  10. 10

    列の共通値に基づいて、大きなデータフレームをデータフレームのリストに分割します

  11. 11

    R行の値に基づいてデータフレームにインデックス列を追加します

  12. 12

    列の値に基づいてデータフレームの行を返す-R

  13. 13

    列の値に基づいてリストにデータフレームをドロップする

  14. 14

    前の複数の行/列の値に基づいてデータフレームの行を削除します

  15. 15

    pandasデータフレームからのしきい値に基づいて上位n行を返します

  16. 16

    列の複数の値に基づいてデータフレームに新しい行を作成します

  17. 17

    行の最初の値に基づいて、データフレームに新しい列を追加します

  18. 18

    R-既存の列と一致する値のインデックスに基づいて新しい列データフレームを作成します

  19. 19

    Rのデータフレームの列条件に基づいてベクトルを作成します

  20. 20

    条件に基づいてデータフレームの値をリストに移動します

  21. 21

    ブール値のリストに基づいてデータフレームサブセットを返す

  22. 22

    Rは、異なる列のテキストに基づいて、データフレーム列の数を繰り返して増やします

  23. 23

    他の列のデータフレームrの値に基づいて列を追加します

  24. 24

    複数の列と行の基準に基づいてRデータフレームを展開します

  25. 25

    別の列の進行値に基づいてデータフレーム列を作成しますか?

  26. 26

    条件と値のリストに基づいてpysparkデータフレームを作成します

  27. 27

    ソースとしてのベクトルに基づいて、データフレームの列と行の欠落値を補完する方法

  28. 28

    既存の列のカテゴリ値に基づいてデータフレームに列を追加します

  29. 29

    データフレームの任意の列の値に基づいて行を削除します

ホットタグ

アーカイブ