あなたは間違ったことがいくつかあると思います。まず、mylist
には何も格納されていないと思います。つまり、あなたの関数がチェックする名前や名前がありません。このようなあなたのリストの何かを設定してみてください:
mylist <- list("a", "b", "c")
names(mylist) <- c("a", "b", "c")
mylist
#> $a
#> [1] "a"
#>
#> $b
#> [1] "b"
#>
#> $c
#> [1] "c"
をあなたの機能では、次のようにする必要がありa)はnames(listname)
ので、あなたが実際にリストの名前をチェックし、あなたがした後、b)のリストを返すされている操作を行います再割り当て。次に、リストにとを割り当てると、それらの値が返されます。
foo <- function(listname) {
for(name in names(listname)){
listname[[name]] <- 7
}
listname
}
foo(mylist)
#> $a
#> [1] 7
#>
#> $b
#> [1] 7
#>
#> $c
#> [1] 7
mylist
はまだそれに同じ値を持っていることに注意してください。何も再割り当てされていない。
mylist
#> $a
#> [1] "a"
#>
#> $b
#> [1] "b"
#>
#> $c
#> [1] "c"
おそらくあなたは、 'FOO(マイリスト)を'行っています。問題はほぼ確実に '<< - 'を '<'に変更する必要があります。また 'foo'と' listname'に 'names'を渡す方が良いでしょう。 – user1310503
ありがとうございます。 <<の私の使用は非常に慎重です。 foo(mylist)を呼び出した後、mylist $ a、b、cの各要素(この例では7)を持つリストmylistが必要です。 – fcummins