R에 두 개의 열 데이터 프레임이 있고 첫 번째 두 함수의 값인 세 번째 열을 추가하고 싶습니다. 는만큼 기능이 간단한 수학 공식 아무 문제 data$c <- data$a*15 - 10 + data$b*0.5
입니다하지만 내 기능이 아닌 지속적인하고 조건문을 포함, 나는하고 싶으면 : foo <- function(x,y){if (x<2) {return(0)} else {....}
및 data$c <- foo(data$a, data$b)
그러나이 나에게 오류를 가져옵니다. 나는 무엇을 놓치고 있습니까?함수를 사용하는 방법 R
3
A
답변
0
df = data.frame(a=rnorm(20),b=runif(20))
new_var = function(x,y)
{
if(x<0)
{ x = x^2}
else
{ x = x^3}
if(y<.5)
{ -log10(y)}
else
{
exp(y)
}
return((2*(x+y))/x*y)
}
df$c = sapply(1:length(df$a), function(i){new_var(df$a[i],df$b[i])})
head(df)
a b c
1 -0.09149107 0.04834675 0.65517298
2 -2.43732351 0.04086087 0.08228385
3 -1.69573283 0.54795413 1.30474339
4 -0.40106220 0.72952356 8.07641367
5 -0.38244706 0.65524147 7.18118555
6 0.76334945 0.38455655 1.43404971
2
당신은 ifelse
기능을 찾고 있습니다. 첫 번째 데이터 프레임을 생성합니다
> d <- data.frame(x = rnorm(5), y=rnorm(5))
> d
x y
1 -0.3581471 0.18149804
2 0.5096839 0.01260114
3 0.6742558 1.04851531
4 1.0761349 -0.17504221
5 -0.2373933 -1.11475886
지금
ifelse
를 사용하여 여분의 열을 만듭니다
> d$z <- ifelse(d$x < 0, 0, d$y + 1)
> d
x y z
1 -0.3581471 0.18149804 0.0000000
2 0.5096839 0.01260114 1.0126011
3 0.6742558 1.04851531 2.0485153
4 1.0761349 -0.17504221 0.8249578
5 -0.2373933 -1.11475886 0.0000000
관련 문제
- 1. R 패키지에서 다른 패키지의 함수를 올바르게 사용하는 방법
- 2. Utilities.sleep() 함수를 사용하는 방법
- 3. mode_rewrite 함수를 사용하는 방법
- 4. 타이머 함수를 가장 잘 만드는 방법 R
- 5. 회귀 함수를 R
- 6. R - 함수를 루프로 바꾸는 법 R
- 7. c에서 substring 함수를 사용하는 방법?
- 8. Propel에서 MySQL 함수를 사용하는 방법
- 9. linq에서 집계 함수를 사용하는 방법
- 10. PyCUDA의`prepare` 함수를 사용하는 방법
- 11. imagick의 writeImage() 함수를 사용하는 방법?
- 12. x64에서 CoGetClassObject 함수를 사용하는 방법
- 13. flann_index 함수를 파이썬에서 사용하는 방법
- 14. Smarty : PHP 함수를 사용하는 방법?
- 15. clojure에서 빈 함수를 사용하는 방법
- 16. PHP5.3에서 익명 함수를 사용하는 방법
- 17. 이 PHP 함수를 사용하는 방법?
- 18. jQuery 루프 함수를 사용하는 방법
- 19. Three.js에서 stencilFunc 함수를 사용하는 방법
- 20. QTextStream :: readLine 함수를 사용하는 방법?
- 21. nestedSortable serialize 함수를 사용하는 방법
- 22. 정적 라이브러리의 함수를 사용하는 방법
- 23. R에서 write.table 함수를 사용하는 방법?
- 24. R : 합리적인 함수를 사용한 회귀
- 25. R 함수 내에서 변수를 사용하는 방법
- 26. NSLog를 사용하는 방법 \ n \ r \ t
- 27. r - rJava에서 사용하는 메모리를 지우는 방법?
- 28. r (잘못된 길이)에 함수를 통합
- 29. R : I는 (R)에 함수를 생성 할 필요가 P
- 30. PostgreSQL을 사용하여 집계 함수를 만드는 동안 Concat 함수를 사용하는 방법
시도를 질문을 할 때 더 많은 정보를 제공 할 수 있습니다. 도움이되면 사람들이 도움을줍니다. –
이 질문은있는 그대로 답변 할 수 있습니다. –