関数内のグローバル変数にアクセスする

D.研究

2つのdata.framesdf11つerrorsの関数がありますadd_to_errors()関数の引数は(のdf1行番号のベクトルであり、関数は選択された行をと呼ばれる新しいdata.frameに追加する必要がありerrorsます。

df1 <- data.frame(id=1:10,
                  var1=rep(NA, 2),
                  var2=rep(NA, 2))

errors <- data.frame()

add_to_errors <- function(ids){
    rows_to_add <- df1[ids,]
    errors <- rbind(errors, rows_to_add)
    return(errors)
} 

add_to_errors(c(1,2))
add_to_errors(c(6,7))

を実行するadd_to_errors(1, 2)add_to_errors(6,7)errors関数が呼び出されるたびに上書きされたよう見えます。errors関数内でグローバル変数としてアクセスするにはどうすればよいですか?

出力は次のようになります。

  id var1 var2
1  1   NA   NA
2  2   NA   NA
3  6   NA   NA
4  7   NA   NA 
LyzandeR

1つの方法は<<-、次のように使用することです。

add_to_errors <- function(ids){
  rows_to_add <- df1[ids,]
  errors <<- rbind(errors, rows_to_add)
  return(errors)
} 

add_to_errors(c(1,2))
#  id var1 var2
#1  1   NA   NA
#2  2   NA   NA
add_to_errors(c(6,7))
#  id var1 var2
#1  1   NA   NA
#2  2   NA   NA
#6  6   NA   NA
#7  7   NA   NA

<<-関数内でグローバル環境を変更することは良い習慣とは見なされません(これは副作用と呼ばれ、バグが発生するため、可能であれば回避することをお勧めします)。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

関数内のグローバル変数にアクセスする方法

分類Dev

Python関数内からグローバル変数にアクセスする

分類Dev

PHPは他の関数内の関数内のグローバル変数にアクセスします

分類Dev

クラスの関数内からグローバル変数にアクセスする方法

分類Dev

グローバル関数内の環境変数にアクセスする-SwiftUI + CoreData

分類Dev

「グローバル」を使用せずに関数の外部で関数変数にアクセスする

分類Dev

「グローバル」を使用せずに関数の外部で関数変数にアクセスする

分類Dev

グローバル変数を使用せずに他の関数から変数にアクセスする

分類Dev

グローバル変数を作成せずに、別の関数から変数にアクセスする

分類Dev

PHP関数でグローバル変数にアクセスする

分類Dev

Fortran関数からグローバル変数にアクセスする方法

分類Dev

関数内でグローバル変数にアクセスできないのはなぜですか?

分類Dev

PHP-クラス内のグローバル変数-内部関数内でアクセスされます

分類Dev

Pythonのクラス関数からグローバル変数にアクセスする

分類Dev

クロージャ内のグローバルスコープから変数にアクセスする

分類Dev

クラス内の定数グローバルスコープ変数にアクセスするPythonの方法は?

分類Dev

Tkのパス名を使用して関数内のグローバルラベルにアクセスする

分類Dev

groovyクラスファイル内のグローバル変数にアクセスする方法は?

分類Dev

Goの無名関数からグローバル変数にアクセスする方法は?

分類Dev

canvas.onmousemove関数の外部からグローバル変数にアクセスする方法は?

分類Dev

CountDownTimer変数にグローバルにアクセスする

分類Dev

変数をグローバルとして定義せずに、関数内にある変数にアクセスする方法

分類Dev

コールバック関数内のローカル変数にアクセスします

分類Dev

__main__スコープ内のグローバル変数にアクセスする方法は?

分類Dev

グローバル変数にアクセスする方法

分類Dev

Swiftでグローバル変数にアクセスする

分類Dev

別の関数でグローバルに定義された変数の関数でデータセットにアクセスする

分類Dev

数値を表示するためにスクリプトセクション間で変化する関数内のグローバル変数

分類Dev

*ngIf 内のローカル変数にアクセスする

Related 関連記事

  1. 1

    関数内のグローバル変数にアクセスする方法

  2. 2

    Python関数内からグローバル変数にアクセスする

  3. 3

    PHPは他の関数内の関数内のグローバル変数にアクセスします

  4. 4

    クラスの関数内からグローバル変数にアクセスする方法

  5. 5

    グローバル関数内の環境変数にアクセスする-SwiftUI + CoreData

  6. 6

    「グローバル」を使用せずに関数の外部で関数変数にアクセスする

  7. 7

    「グローバル」を使用せずに関数の外部で関数変数にアクセスする

  8. 8

    グローバル変数を使用せずに他の関数から変数にアクセスする

  9. 9

    グローバル変数を作成せずに、別の関数から変数にアクセスする

  10. 10

    PHP関数でグローバル変数にアクセスする

  11. 11

    Fortran関数からグローバル変数にアクセスする方法

  12. 12

    関数内でグローバル変数にアクセスできないのはなぜですか?

  13. 13

    PHP-クラス内のグローバル変数-内部関数内でアクセスされます

  14. 14

    Pythonのクラス関数からグローバル変数にアクセスする

  15. 15

    クロージャ内のグローバルスコープから変数にアクセスする

  16. 16

    クラス内の定数グローバルスコープ変数にアクセスするPythonの方法は?

  17. 17

    Tkのパス名を使用して関数内のグローバルラベルにアクセスする

  18. 18

    groovyクラスファイル内のグローバル変数にアクセスする方法は?

  19. 19

    Goの無名関数からグローバル変数にアクセスする方法は?

  20. 20

    canvas.onmousemove関数の外部からグローバル変数にアクセスする方法は?

  21. 21

    CountDownTimer変数にグローバルにアクセスする

  22. 22

    変数をグローバルとして定義せずに、関数内にある変数にアクセスする方法

  23. 23

    コールバック関数内のローカル変数にアクセスします

  24. 24

    __main__スコープ内のグローバル変数にアクセスする方法は?

  25. 25

    グローバル変数にアクセスする方法

  26. 26

    Swiftでグローバル変数にアクセスする

  27. 27

    別の関数でグローバルに定義された変数の関数でデータセットにアクセスする

  28. 28

    数値を表示するためにスクリプトセクション間で変化する関数内のグローバル変数

  29. 29

    *ngIf 内のローカル変数にアクセスする

ホットタグ

アーカイブ