这是我的玩具数据框。
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let offset = scrollView.contentOffset // get the current offset
scrollView.isUserInteractionEnabled = false // disable interaction
scrollView.setContentOffset(offset, animated: false) // freeze the offset
}
如何使用SparkR计算按行计算,以获取var1和var2的最大值,如上面df中的第3个变量所示?如果SparkR中没有按行函数,如何获取所需的输出?
答案 0 :(得分:1)
To get a maximum value使用SparkR::greatest
:
df %>% withColumn("maxOfVars", greatest(df$var1, df$var2))
以及通常情况下的高阶函数,例如aggregate
(Spark 2.4或更高版本),用于组合数据。
df %>% withColumn("theLastVar", expr("aggregate(array(var1, var2), (x, y) -> y)"))
或(与版本无关)表达式的组成:
scols <- c("var1", "var2") %>% purrr::map(column)
sumOfVars <- scols %>%
purrr::map(function(x) coalesce(x, lit(0))) %>%
purrr::reduce(function(x, y) x + y, .init=lit(0))
countOfVars <- scols %>%
purrr::map(function(x) ifelse(isNotNull(x), lit(1), lit(0))) %>%
purrr::reduce(
function(x, y) x + y, .init=lit(0))
df %>% withColumn("meanOfVars", sumOfVars / countOfVars)