누가이 질문에 답하는 지 먼저 감사드립니다. 나는 caroline 패키지에서 pct 함수를 적용 할 데이터 프레임을 최대 10 개까지 보유하고 있습니다. 오버플로 오류를 일으키는 데이터로 인해 모든 셀을 1000으로 나누어야합니다. 일단이 문제가 발생하면 문제없이 pct 함수를 적용 할 수 있습니다. 그런 다음 원본 데이터를 다듬고 새 데이터 프레임을 만들려고합니다.여러 데이터 프레임에 pct 함수 적용
결과를 저장하지 않는다는 점을 제외하고는 올바른 기능을하는 다음 함수를 작성했습니다 (반환 문이 없음). 그러므로 나는 그것을 오래 할 수 있었다. 그러나 이것이 가장 중요한 것은 아닙니다. A와 B 데이터
require (pct)
finallist <- list(A, B)
lapply(finallist , function (foo) {
temp <- as.data.frame(foo[,1])
checks <- cbind(temp, foo[,2:480]/1000)
checka <- pct(checks, tickerlist)
foo <- checka[c(1, 481:959)]
})
는
실제 키 시도 밖으로 새로운 프레임 데이터를 작성하는 것 같은이
A <- structure(list(mgrname = c("Man A", "Man A", "Man A", "Man B", "Man B", "Man B", "Man C", "Man C", "Man C"),
ticker = c("AAPL", "MSFT", "TLSA", "AAPL", "MSFT", "TLSA", "AAPL", "MSFT", "TLSA"),
share = c(20L, 30L, 40L, 20L, 10L, 50L, 20L, 20L, 80L)),
.Names = c("mgrname", "ticker", "share"),
row.names = c(NA, -9L),
class = "data.frame")
B처럼 형성되는 프레임들. 내가 시작 코드는
invisible(lapply (names(finalist),
function (foo) assign (x = y, value = temp <- as.data.frame(foo[,1]),
checks <- cbind(temp, foo[,2:480]/1000),
checka <- pct(checks, tickerlist),
foo <- checka[c(1, 481:959)] , envir =.GlobalEnv)))
보이지 않는 기능 (내가이 곳에서 할당 기능을해야한다고 생각)를 사용하지만
Error in lapply(names(finalist), function(foo) assign(x = y, value = temp <- as.data.frame(foo[, :
object 'finalist' not found
가 최종 데이터 프레임은 희망이
같이해야한다고 말했습니다| mgrname | APPL | MSFT | TLSA |
|---------|--------|-------|-------|
| Man A | .33 | .5 | .23 |
| Man B | .33 | .16 | .30 |
| Man C | .33 | .33 | .47 |
'finallist' 객체를 두 개의'l'으로 정의하는 것처럼 보입니다.하지만'lapply'에서 단 하나의'l'로'finalist'를 사용합니다. 'finalist'에'l'을 정의한 적이 없으므로 객체를 찾을 수 없습니다. – Gregor
당신은 데이터 프레임 목록을 가지고 좋은 일을했습니다. 나는 왜 당신이'lapply' 안에'assign'을 가지고 쓰레기를 던지는지 모르겠다. 'y'가 바뀌지 않기 때문에'assign '에 대한'x = y' 인수는 특히 이상합니다. 또한 중괄호가 빠졌습니까? 'x = y','value = temp <- ...','checks <- ...'인자를'할당 '하는 것 같습니다. 함수 인수 내에서'<-'를 사용하는 것은 보통 나쁜 형태 (그리고 불필요한)로 간주됩니다 ... – Gregor
'function (foo)'를 할 때,'foo'는 함수에 대한 입력의 이름입니다. 그것을 출력으로 사용합니다. 나는 당신의 예제가 동일한 'A'와 'B'입력을 사용함으로써 다소 모호하다고 생각한다. 데이터 프레임이 실제로 같은 구조를 가지고 있다면,이를 하나의 데이터 프레임으로 결합하고'dplyr' 또는'data.table'을 사용하여 그룹별로 작업하는 것이 더 나을 것입니다. – Gregor