我正在使用dygraphs包绘制每周数据.dygraphs自动选择每周默认轴.但是,我希望有一种方法可以让默认轴(星期日)与我的数据(星期一)对齐.
# Required packages
library("magrittr")
library("dygraphs")
library("xts")
# Data
daily <- structure(c(4000, 5000, 3000, 7000, 2000, 5000, 7000,
2000, 3000, 6000, 5000, 9000, 2000, 2000, 2000,
7000, 9000, 2000, 1000, 13000), .Dim = c(10L, 2L), .Dimnames = list(
NULL, c("col1", "col2")), index = structure(c(1476032400,
1476637200, 1477242000, 1477846800, 1478451600, 1479056400, 1479661200,
1480266000, 1480870800, 1481475600), tzone = "Asia/Saigon", tclass = c("POSIXct",
"POSIXt")), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "Asia/Saigon", tzone …Run Code Online (Sandbox Code Playgroud) 我正在写一个简单的bash脚本,我要求用户输入一个输入文件然后执行.
我目前正在使用该read -p命令.但是,它无法使用unix中的文件名/目录的内置完成.每次我在此提示符下按Tab键,我的终端只会在文本编辑器中跳过类似于Tab功能的空格.有没有办法合并这个?
有时当我尝试加载dplyr时,我收到以下错误:
Error in library.dynam(lib, package, package.lib) :
shared object ‘dplyr.so’ not found
In addition: Warning message:
S3 methods ‘[.grouped_df’, ‘[.tbl_df’, ‘all.equal.tbl_df’, ‘all.equal.tbl_dt’, ‘anti_join.data.frame’, ‘anti_join.data.table’, ‘anti_join.tbl_df’, ‘anti_join.tbl_sql’, ‘arrange_.data.frame’, ‘arrange_.data.table’, ‘arrange_.grouped_dt’, ‘arrange_.tbl_df’, ‘arrange_.tbl_dt’, ‘arrange_.tbl_sql’, ‘as.data.frame.grouped_df’, ‘as.data.frame.rowwise_df’, ‘as.data.frame.tbl_cube’, ‘as.data.frame.tbl_df’, ‘as.data.frame.tbl_dt’, ‘as.data.frame.tbl_sql’, ‘as.fun_list.character’, ‘as.fun_list.fun_list’, ‘as.tbl.data.frame’, ‘as.tbl.data.table’, ‘as.tbl.tbl’, ‘as.tbl_cube.array’, ‘as.tbl_cube.data.frame’, ‘as.tbl_cube.matrix’, ‘as.tbl_cube.table’, ‘auto_copy.tbl_cube’, ‘auto_copy.tbl_df’, ‘auto_copy.tbl_dt’, ‘auto_copy.tbl_sql’, ‘c.sql’, ‘collapse.data.frame’, ‘collapse.tbl_df’, ‘collapse.tbl_dt’, ‘collapse.tbl_sql’, ‘collect.data.frame’, ‘c [... truncated]
Error: package or namespace load failed for ‘dplyr’
Run Code Online (Sandbox Code Playgroud)
一旦我重新启动R过程就会正常工作.是否有任何理由有时会发生这种情况但有时却不会发生?
链接到问题:https://projecteuler.net/problem=14
所以我在R中使用相当"琐碎"的memoization实现解决了这个问题.基本上,我只是从1:1,000,000计算并计算到达1所需的collatz应用程序数量.如果我遇到的数字少于在当前的迭代中,我只是将该数字的'链'添加到当前序列中.
R代码:
collatz <- function(n) {
if(n %% 2 == 0) return(n / 2)
else return(3 * n + 1)
}
chains <- rep(0, 1e6)
for(i in 1:length(chains)) {
n <- i
iter <- 0
while(n != 1) {
n <- collatz(n)
iter <- iter + 1
if(n < i) {
iter <- iter + chains[n]
break
}
}
chains[i] <- iter
}
which.max(chains)
Run Code Online (Sandbox Code Playgroud)
现在这个代码运行得相对较快,即使是R,但是我对这个问题的思考越多,我发现它就越有趣.
似乎有很多不同的方法可以在空间和运行时方面提高效率.也许循环倒退?也许首先通过奇数或偶数,然后再做另一半?也许保持中间结果而不仅仅是递增时的终端链长度?可能还有一些想法本质上更"数学"而不是直接与动态规划相关.是否有人考虑过这个问题/算法并且可以提供其他一些可能更有效的实现?
我想要类似'plot.lm'功能的东西.
y <- rnorm(100, 0, 1)
x <- rnorm(100, 0, 1.5)
mod <- lm(y ~ x)
plot(mod)
Hit <Return> to see next plot:
Hit <Return> to see next plot:
Hit <Return> to see next plot:
Hit <Return> to see next plot:
Run Code Online (Sandbox Code Playgroud)
我想创建几个图,然后按顺序显示它们 - 提示用户点击以查看所有图.
power <- function(exp) {
function(x) {
x ^ exp
}
}
funlist <- lapply(2:3, power)
Run Code Online (Sandbox Code Playgroud)
现在我希望'funlist'的第一个元素是一个方形函数,第二个元素是一个立方体函数.然而,它似乎只是重复'立方'.
> funlist[[1]](5)
[1] 125
> funlist[[2]](5)
[1] 125
Run Code Online (Sandbox Code Playgroud)
有没有办法以这种方式从闭包生成函数列表?或者围绕我可能想要以这种方式处理的问题的一般最佳实践?
在Netezza中,我习惯使用INZA包和ST_Distance函数.Redshift中是否有人知道类似的方式?我用它进行了大量的计算和连接.
r ×4
algorithm ×1
bash ×1
big-o ×1
closures ×1
dplyr ×1
dygraphs ×1
interactive ×1
javascript ×1
memoization ×1
performance ×1
plot ×1
prompt ×1
sequential ×1
shell ×1
sql ×1