小编MaH*_*aHo的帖子

HiveQL:将查询结果用作变量

在Hive中我想从表中动态提取信息,将其保存在变量中并进一步使用它.请考虑以下示例,其中我检索列var的最大值,并希望将其用作后续查询中的条件.

set maximo=select max(var) from table;

select
  *
from
  table
where
  var=${hiveconf:maximo}
Run Code Online (Sandbox Code Playgroud)

但它不起作用

set maximo=select max(var) from table;

${hiveconf:maximo}
Run Code Online (Sandbox Code Playgroud)

向我展示了预期的结果.

这样做:

select '${hiveconf:maximo}'
Run Code Online (Sandbox Code Playgroud)

"select max(var) from table"
Run Code Online (Sandbox Code Playgroud)

虽然.

最好

variables hive hiveql

5
推荐指数
1
解决办法
8047
查看次数

ggplot中的颜色(geom_segment)

当使用facet_grid时,如何根据数据中的因子对geom_segments进行着色?我的方法失败了,因为颜色的分配是错误的.

这是一些数据:

visual_data=data.frame(Values = 10:1, Words = c("yeah","what","is","up","and","how", "are", "things","for", "you"), group = c("a","b","a","b","a","b","a","b","a","b"), importance=c("#EF2A2A","#EF2A2A", "#E4FA11", "#E4FA11", "#E4FA11", "#E4FA11","#EF2A2A","#EF2A2A","#EF2A2A", "#E4FA11"))
Run Code Online (Sandbox Code Playgroud)

此代码创建一个图:

graphic=ggplot(visual_data, aes(xend=Values, x=0, y=reorder(Words, Values), yend=reorder(Words, Values))) +
  geom_text(aes(x=Values, label=Values, hjust=-0.3), color="#389912",family="sans") +
  geom_segment(size=4,colour=visual_data$importance) +
  theme(axis.text=element_text(size=10,family="sans"),axis.title=element_text(size=13,face="bold",family="sans"),strip.text.y = element_text(size=12,family="sans"), plot.title=element_text(size=14,face="bold",family="sans")) +      
  facet_grid(group~., scales = "free")+
  theme_bw()
graphic
Run Code Online (Sandbox Code Playgroud)

可以看出,"是"和"什么",例如,不共享相同的条形颜色,尽管它们应该根据我的数据规范.

有没有人解决这个问题?

r ggplot2

4
推荐指数
1
解决办法
2384
查看次数

以分组方式将 data.frame/tibble 转换为列表

我想转换具有特定格式的列表中的数据框(前面的最小示例)。对于下面的数据框,我希望得到一个包含 5 个元素的列表,每个元素都有一个包含 5 个元素的列表。

parameters = tidyr::expand(tibble(id=1:5, value = 1:5 * 2),id,value)

# A tibble: 6 x 2
     id value
  <int> <dbl>
1     1     2
2     1     4
3     1     6
4     1     8
5     1    10
6     2     2

result = base::split(parameters, list(parameters$id))
result = lapply(result, function(x) { x["id"] <- NULL; x })
Run Code Online (Sandbox Code Playgroud)

到目前为止,它的 id 是正确的(5 个元素),但不是其中的子元素。它给出了第一个元素

> a[1]
$`1`
# A tibble: 5 x 1
  value
  <dbl>
1     2
2     4
3     6
4     8
5    10 …
Run Code Online (Sandbox Code Playgroud)

r list

3
推荐指数
1
解决办法
5754
查看次数

标签 统计

r ×2

ggplot2 ×1

hive ×1

hiveql ×1

list ×1

variables ×1