2017-10-07 3 views
0

기존 열의 양수 값만 합한 새 열을 만들고 싶습니다. 그래서 열에서 TotalImportSE3 나는 그들 중 아무도 인 경우 긍정적 인 합이해야 열 SE3 - NO1, SE3-DK1, SE3-FI 만 양수 값의 SE3-SE4의 합계를 얻기 위해 싶습니다 0조건이 충족 될 때 데이터 프레임의 열 합계

 SE3 - NO1 SE3 - DK1 SE3 - FI SE3 - SE2 SE3 - SE4 TotalImportSE3 
47  1114  666  -225  2716  -3784    NA 
48  1009  671  -151  1491  -2943    NA 
54  1057  711 -1062  1658  -2201    NA 
55  1077  711 -1213  3492  -3015    NA 
94  772  414  -501  2904  -2262    NA 
95  -786  -314  -407  -2368  -2005    NA 

출력 보일 ​​것 같은 :

 SE3 - NO1 SE3 - DK1 SE3 - FI SE3 - SE2 SE3 - SE4 TotalImportSE3 
47  1114  666  -225  2716  -3784    4496 
48  1009  671  -151  1491  -2943    3171 
54  1057  711 -1062  1658  -2201    3426 
55  1077  711 -1213  3492  -3015    5280 
94  772  414  -501  2904  -2262    4090 
95  -786  -314  -407  -2368  -2005    0 

지금까지 내 노력 :

df1 <- df$`SE3 - NO1`[which(Data$`SE3 - NO1`>0)] 
df2 <- df$`SE3 - DK1`[which(Data$`SE3 - DK1`>0)] 

하지만 완전히 망쳐 놨 때문에, 서로 다른 거리에서는 쉴드의 두 벡터를 생성한다.

+0

의 이름입니까? – shea

+0

나는 sum과 which 함수를 사용하려고 시도했지만, 지금까지는 별도의 열의 양수 값을 추출한 다음 모든 열을 동시에 계산하지는 않았다. – MikeMEiL

+0

이 정보를 반영하도록 질문을 편집해야합니다. 이 사이트는 다른 사람들을 도우려는 것이지 당신이 아무런 노력도하지 않은 것처럼 보일 때 사람들은 도움을 덜 받는다. – shea

답변

3

이 시도 할 수 있습니다 :

df$TotalImportSE3=rowSums(df*(df>0)) 
  • df는 지금까지 시도 것을 당신 dataframe
+0

완벽하게 작동합니다! 그러나, 나는 * sign이 어떻게 작동 하는지를 실제로 이해하지 못한다. 단지 데이터 프레임에 대한 조건을 만들어서 양의 데이터 프레임 값만을 합산하는 것인가? 여러 조건이 될 수 있습니까? – MikeMEiL

+0

df> 0은 ​​TRUE를 반환하고 양의 조건에 대해 FALSE를 반환합니다 (0보다 큰 데이터 프레임 객체는 TRUE가되고, 0보다 작은 값은 FALSE가됩니다) ... 그러면 df에 곱하여 양수를 반환합니다 –