リスト上でいくつかの操作をしています。このリストは、googleAnalyticsRライブラリのga_account_list()の出力です。R:複雑なリストの要素を関数で操作する
ここにリストのサンプル(最初の2つの要素)を示します。私はそれをga_goalsと呼んだ:
List of 2
$ :List of 6
..$ kind : chr "analytics#goals"
..$ username : chr "[email protected]"
..$ totalResults: int 9
..$ startIndex : int 1
..$ itemsPerPage: int 1000
..$ items :'data.frame': 9 obs. of 15 variables:
.. ..$ id : chr [1:9] "1" "2" "3" "4" ...
.. ..$ kind : chr [1:9] "analytics#goal" "analytics#goal" "analytics#goal" "analytics#goal" ...
.. ..$ selfLink : chr [1:9] "https://www.googleapis.com/analytics/v3/management/accounts/46324974/w
......
$ :List of 6
..$ kind : chr "analytics#goals"
..$ username : chr "[email protected]"
..$ totalResults: int 8
..$ startIndex : int 1
..$ itemsPerPage: int 1000
..$ items :'data.frame': 8 obs. of 15 variables:
.. ..$ id : chr [1:8] "2" "3" "4" "5" ...
.. ..$ kind : chr [1:8] "analytics#goal" "analytics#goal" "analytics#goal" "analytics#goal" ...
.. ..$ selfLink : chr [1:8] "https://www.googleapis.com/analytics/v3/management/accounts/46324974/w
私がしたいのは、このリストのいくつかの要素を削除する関数を書くことです。たとえば、「kind」フィールドと「username」フィールドを削除したいとします。
私は、ga_goalsリストに適用できる関数を書くことで、関数型プログラミング機能を活用しようとしました。しかし、それは動作しませんでした。ここで
は関数であり、それへの呼び出し:
clean_goal_list <- function(goal_list){
goal_list[["kind"]] <- NULL
}
map(ga_goals, clean_goal_list)
これを実行するには、次のような出力returnst:
[[1]]
NULL
[[2]]
NULL
を、元のリストは変わらないままです。
ご協力いただきありがとうございます。
変更された値を最後に返します。 'clean_goal_list < - function(goal_list){; goal_list [["b"]] < - NULL; goal_list; } '。 – lmo