data.frame
열의 함수에서 여러 결과를 반환하고이 새로운 열을 다른 간단한 계산과 함께 data.frame
에 추가하려고합니다. 간단한 예를 들어하나의 함수에서 여러 열을 계산하여 data.frame에 추가하십시오.
, 내가 통합 간격의 중간 점과 함께 sin
기능의 적분 값과 절대 오류를 모두 얻으려면 : 이름을 구분하기 때문에
df <- data.frame(Lower = c(1,2,3), Upper = c(2,3,4))
setDT(df)
getIntegral <- function(l, u) {
n <- integrate(sin, mean(l), mean(u))
list(Value=n$value, Error=n$abs.error)
}
df[,
c('Value', 'Error', 'Mid') := {
n <- getIntegral(Lower, Upper)
list(n$Value,
n$Error,
(Lower+Upper)/2)
}]
df
Lower Upper Value Error Mid
1: 1 2 0.5738457 6.370967e-15 1.5
2: 2 3 0.5738457 6.370967e-15 2.5
3: 3 4 0.5738457 6.370967e-15 3.5
나는 확실히 내 접근 좋아해요 새로운 열과 그 열에 할당 된 값으로 인해 열심히 읽게됩니다.이 작업을 어떻게 더 잘 수행 할 수 있습니까? 긴 데이터 처리 체인의 일부로 외부에 임시 변수를 만들지 않으므로 data.table
또는 dplyr
만을 사용하는 솔루션을 선호합니다.
data.table 구문이 마음에 들지 않습니까? – jlhoward
이런 뜻인가요 ?? 오류 = getIntegral (Lower, Upper) $ Error, Mid = (Lower + Upper)/2)] – jlhoward
또는 setIntegral ($$$$, 아마 이것 ?? '(값, 오류, (아래 + 위쪽)/2))]] – jlhoward