小编Sly*_*ron的帖子

如何在将正常输出打印到控制台时定期发送文本到"日志文件"?

我正在为专业运动的蒙特卡罗模拟创建R代码.因为游戏动态非常复杂并且使调试过程更简单,所以我希望让R为游戏中发生的每个动作发送一行文本到"日志文件".日志文件将是一个全面的,通过播放描述模拟中发生的事情,看起来像这样......

  • "游戏开始"
  • 占有权分配给X队
  • 球员Y获得球
  • 球员Y分数
  • 玩家Z OCCURS
  • 替补发生(球员W < - >球员Q)
  • ...
  • "游戏结束"

我不能只使用sink()函数,因为在模拟运行时,我设置了一个进度条(带有setTxtProgressBar函数),并将实时分数打印到控制台.如果我使用sink(),我在R控制台上看不到任何进度指示器或分数.这有意义吗?换句话说,我需要以累积的方式定期将文本发送到日志文件.这里有一些示例代码可以帮助您使用...

谢谢

for (i in 1:100)
{**SOMEHOW NEED TO PRINT LINE "START LOOP" TO LOG FILE**;
a <- rnorm(n = 100, mean = i, sd = 5);
print(mean(a)); #PRINT THIS MEAN TO THE CONSOLE
**SOMEHOW PRINT "LOOP 'i' COMPLETE" TO LOG FILE**}
Run Code Online (Sandbox Code Playgroud)

r

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

在模拟多元数据进行回归时,如何设置R平方(包括示例代码)?

我正在尝试模拟三变量数据集,以便我可以在其上运行线性回归模型.'X1'和'X2'将是连续的独立变量(mean = 0,sd = 1),'Y'将是连续因变量.

变量将是回归模型将产生如下系数:Y = 5 + 3(X1) - 2(X2)

我想模拟这个数据集,使得得到的回归模型的R平方值为0.2.如何确定'sd.value'的值,以便回归模型具有此R平方?

n <- 200 
set.seed(101) 
sd.value <- 1

X1 <- rnorm(n, 0, 1)
X2 <- rnorm(n, 0, 1)
Y <- rnorm(n, (5 + 3*X1 - 2*X2), sd.value)

simdata <- data.frame(X1, X2, Y)

summary(lm(Y ~ X1 + X2, data=simdata))
Run Code Online (Sandbox Code Playgroud)

r

8
推荐指数
1
解决办法
3655
查看次数

如何在ggplot2森林图中添加聚类水平线?

我非常接近完成摘要森林图。下面包含代码和绘图图像。最后一个很好的步骤是将某些行聚集在一起。例如,第 1-4 年的条形应该聚集在一起,并用一个空格将它们与“总”和“男性”分开。本质上,所有相同颜色的条应该聚集在一起并与其他条分开。我已经为此苦苦挣扎了几个小时。有任何想法吗?我编造了数据来创建这个示例图,包含在下面的代码中......

library(ggplot2)

#MADE UP DATA
test <- data.frame(
x = c("one", "two", "three","four", "five", "six","seven", "eight", "nine","ten",     "eleven", "twelve","thirteen", "fourteen"),
y   = c(4.0, 4.4, 7.1, 8.2, 2.9, 3.0, 4.0,  9.0, 11.0,  7.6, 4.4, 4.6, 4.9, 5.0 ),
yhi = c(6.0, 4.8, 7.6, 8.4, 3.3, 3.1, 4.8, 10.0, 16.0, 8.0, 4.5, 5.0, 6.9, 5.7), 
ylo = c(2.0, 4.2, 6.6, 8.0, 2.5, 2.9, 3.2,  8.0,  6.0, 7.2, 4.3, 4.2, 2.9, 4.3), 
labpos = c(17, 17, 17, 17, 17, 17, 17, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

在 hive 中的 collect_list() 中排序

假设我有一个看起来像这样的蜂巢表:

ID    event    order_num
------------------------
A      red         2
A      blue        1
A      yellow      3
B      yellow      2
B      green       1
...
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 collect_list 为每个 ID 生成事件列表。所以类似于以下内容:

SELECT ID, 
collect_list(event) as events_list,
FROM table
GROUP BY ID;
Run Code Online (Sandbox Code Playgroud)

但是,在我分组所依据的每个 ID 中,我需要按 order_num 进行排序。这样我的结果表将如下所示:

ID    events_list
------------------------
A      ["blue","red","yellow"]
B      ["green","red"]
Run Code Online (Sandbox Code Playgroud)

我无法在 collect_list() 查询之前按 ID 和 order_num 进行全局排序,因为该表很大。有没有办法在 collect_list 中按 order_num 排序?

谢谢!

hive hiveql

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

标签 统计

r ×3

ggplot2 ×1

hive ×1

hiveql ×1