gpt4 book ai didi

r - 聚集在闪闪发光的

转载 作者:行者123 更新时间:2023-12-01 08:22:41 25 4
gpt4 key购买 nike

我正在使用 sparklyr 来操作一些数据。
给定一个,

a<-tibble(id = rep(c(1,10), each = 10),
attribute1 = rep(c("This", "That", 'These', 'Those', "The", "Other", "Test", "End", "Start", 'Beginning'), 2),
value = rep(seq(10,100, by = 10),2),
average = rep(c(50,100),each = 10),
upper_bound = rep(c(80, 130), each =10),
lower_bound = rep(c(20, 70), each =10))

我想使用“收集”来操作数据,如下所示:
b<- a %>% 
gather(key = type_data, value = value_data, -c(id:attribute1))

但是,“收集”在 sparklyr 上不可用。我见过一些人使用 sdf_pivot 来模仿“收集”(例如 How to use sdf_pivot() in sparklyr and concatenate strings? ),但我看不出在这种情况下如何使用它。

有没有人有想法?

干杯!

最佳答案

这是一个模拟函数 gather在闪闪发光。这将收集给定的列,同时保持其他所有内容完好无损,但如果需要,可以轻松扩展。

# Function
sdf_gather <- function(tbl, gather_cols){

other_cols <- colnames(tbl)[!colnames(tbl) %in% gather_cols]

lapply(gather_cols, function(col_nm){
tbl %>%
select(c(other_cols, col_nm)) %>%
mutate(key = col_nm) %>%
rename(value = col_nm)
}) %>%
sdf_bind_rows() %>%
select(c(other_cols, 'key', 'value'))
}

# Example
spark_df %>%
select(col_1, col_2, col_3, col_4) %>%
sdf_gather(c('col_3', 'col_4'))

关于r - 聚集在闪闪发光的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50465390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com