我正在为专业运动的蒙特卡罗模拟创建R代码.因为游戏动态非常复杂并且使调试过程更简单,所以我希望让R为游戏中发生的每个动作发送一行文本到"日志文件".日志文件将是一个全面的,通过播放描述模拟中发生的事情,看起来像这样......
我不能只使用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) 我正在尝试模拟三变量数据集,以便我可以在其上运行线性回归模型.'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) 我非常接近完成摘要森林图。下面包含代码和绘图图像。最后一个很好的步骤是将某些行聚集在一起。例如,第 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) 假设我有一个看起来像这样的蜂巢表:
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 排序?
谢谢!