plot title in r




mapply를 강제로 목록을 반환 하시겠습니까? (2)

데이터 프레임을 만드는 함수가 있다고 가정합니다. 다른 입력 값을 사용하여 그 함수를 실행하고 결과를 다음과 같이 하나의 큰 데이터 프레임으로 결합하려고합니다.

CreateDataFrame <- function(type="A", n=10, n.true=8) {
  data.frame(success=c(rep(TRUE, n.true), rep(FALSE, n - n.true)), type=type)
}
df <- do.call(rbind, lapply(toupper(letters[1:5]), CreateDataFrame))

내 CreateDataFrame 함수는 세 가지 인수를 취합니다. 위의 예제에서 두 번째 및 세 번째 인수는 일정하게 유지됩니다. 위와 동일하게하고 싶지만 각 호출마다 두 번째와 세 번째 인수가 변경됩니다. 나는 mapply를 사용해야한다고 생각한다.

mapply("CreateDataFrame", type=toupper(letters[1:5]), n=10, n.true=8:4)

mapply가 목록을 반환하지 않아 문제가 발생하여 do.call(rbind, mapply(...)) 을 실행할 수 do.call(rbind, mapply(...)) . 위의 예에서와 같이 단일 데이터 프레임으로 어떻게 끝낼 수 있습니까?

mapply가 목록의 매트릭스를 반환하는 것 같습니다. 데이터 프레임 목록을 반환 할 것으로 예상했습니다. 다르게해야 할 일은 무엇입니까?


반환 값으로 mapply 의 목록을 얻으려면 mapplymapply 인수를 FALSE . (기본값은 TRUE .이 함수는 "결과를 벡터, 행렬 또는 더 높은 차원의 배열로 축소하려고 시도합니다 - 사용자가 경험 한 것")을 지시합니다.

res <- mapply("CreateDataFrame", type=toupper(letters[1:5]), n=10, n.true=8:4, 
              SIMPLIFY = FALSE)

identical(class(res), "list")
[1] TRUE

지도 기능을 사용할 수도 있습니다. 기본적으로 FALSE로 설정된 SIMPLIFY를 사용합니다.

Map("CreateDataFrame", type=toupper(letters[1:5]), n=10, n.true=8:4)






mapply