2017-12-09 26 views
0

다른 여러 열에 대한 논리적 기준에 따라 SparkR (스파크 버전 2.1.1) 데이터 세트에 열을 추가해야합니다. 그러나 확실한 해결책 (& & 또는 || 사용)이 작동하지 않으면 "x '유형이 x & & y'"오류로 잘못되었습니다. 예를 들어, 내장 사용 mtcars 데이터 세트 :SparkR에서 AND 및 OR을 사용하여 논리 열 표현식을 작성하려면 어떻게해야합니까?

> dcars = as.DataFrame(mtcars) 
> dcars$cool_enough <- dcars$cyl >= 6 && dcars$hp >= 180 
Error in dcars$cyl >= 6 && dcars$hp >= 180 : invalid 'x' type in 'x && y' 

내가 어떻게 할 수 있습니까?

답변

1

&&? OK 간단한 & 작품 :

sparkR.version() 
# "2.1.1" 

dcars$cool_enough <- dcars$cyl >= 6 & dcars$hp >= 170 # changed 180 to 170 for demonstration purposes 
head(dcars) 

결과 :

mpg cyl disp hp drat wt qsec vs am gear carb cool_enough 
1 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4  FALSE 
2 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4  FALSE 
3 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1  FALSE 
4 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1  FALSE 
5 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2  TRUE 
6 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1  FALSE 

는 다른 방법으로,이 같은 결과를 제공합니다

dcars <- withColumn(dcars,"cool_enough", dcars$cyl >= 6 & dcars$hp >= 170) 
+1

내가 나뿐만 아니라 및 시도하고 작동하지 않았다는 것을 확신했다. 하지만 지금은 작동, 고마워 (난 초보자 오전, 정말 차이를 얻을하지 마십시오). 대답 주셔서 대단히 감사합니다! –

+0

@ KonstantinSvintsov 대단히 환영합니다. – desertnaut