2
Z = data.frame(var1 = c(1,2,3,4,5), var2 = LETTERS[1:5])

testfun <- function(x){
  print(x) # prints the data
  # but how to get names of the list coming in?
  return(NULL)
}

res = lapply(Z, testfun)

testfun 内の変数「var1」と「var2」にアクセスしたい。testfun 内でこれらの変数を取得するにはどうすればよいですか? lapply はその情報を渡しますか? colnames(x)動作しません。

4

2 に答える 2

3

いいえ、lapplyこの情報を関数に渡しません。lapply名前に沿ってサブセット化を使用して、関数内のリストの内容を取得できます。

testfun <- function(nam, mylist){
  print(nam) # prints the names
  mylist[[nam]] #get list content using subsetting
}

res <- lapply(names(Z), testfun, mylist=Z)
# [1] "var1"
# [1] "var2"

res
# [[1]]
# [1] 1 2 3 4 5
# 
# [[2]]
# [1] A B C D E
# Levels: A B C D E
于 2013-08-12T07:39:46.183 に答える