我正在尝试使用 R Blogdown Hugo-Academic 主题创建一个网站。通常,我会通过运行以下命令来创建一个网站:
blogdown::new_site(theme = 'gcushen/hugo-academic')
blogdown::serve_site()
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误
failed to extract shortcode: template for shortcode "alert" not found
Run Code Online (Sandbox Code Playgroud)
我在这里找到了一个相关的 github 问题:
但似乎gcushen/hugo-academic
正在转向wowchemy
如何解决这个问题?
我的时间戳管理存在问题.在我的数据集中,我有两个变量,即时间和相对时间.时间是HH:MM:SS.ss格式,而相对时间是数字变量,包含从0开始经过的秒数(即0.76,1.28,1.78,2.38 ......).为简单起见,让我们考虑一下假设情况:
Time <- c("09:33:23.00", "09:35:25.00", "09:36:26.00")
RTime <- c(0.78, 1.28, 3.98)
然后我执行以下操作来添加毫秒时间:
ATime <- strftime(strptime(Time,format="%H:%M:%OS")+(RTime %% 1),format="%H:%M:%OS2")
我希望它能产生:
"09:33:23.78" "09:35:25.28" "09:36:26.98"
但我得到以下结果:
"09:33:23.77" "09:35:25.27" "09:36:26.98"
大部分时间它只有一毫秒.我不明白为什么这样做.我可以在strptime
函数中添加0.01 ,即(RTime %% 1) + 0.01
.但是我没有发现那么优雅,更重要的是,正如你在上面的例子中看到的那样,它并不总是0.01关 - 就像最后一例一样.有关正在发生的事情的任何提示,或者可能是改进代码的建议?
干杯
[求助]
编辑:感兴趣.这就是我最终解决问题的方法:
ATime <- strftime(strptime(Time,format="%H:%M:%OS")+(RTime %% 1)+0.005,format="%H:%M:%OS2")
这会"强制"舍入而不是截断,这导致了毫秒的差异.
感谢@Josh O'Brien和@nrussell的评论!
我有一个数据集,包含一个长格式的个人重复观察.所以每一行作为一种类型A
或B
观察.以下代码重现数据集.
library(data.table)
set.seed(1487)
dat <- data.table(id = rep(seq(10), 2),
type = c(rep("A", 10), rep("B", 10)),
x = sample.int(100,20))
dat
# id type x
# 1: 1 A 38
# 2: 2 A 58
# 3: 3 A 28
# 4: 4 A 21
# 5: 5 A 19
# 6: 6 A 62
# 7: 7 A 52
# 8: 8 A 86
# 9: 9 A 85
# 10: 10 A 90
# 11: 1 …
Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一个正则表达式,以在某个字符串后提取一个6位数字(正数或负数),即"LogL =".
它来自某些软件的文本输出.
7 LogL=-3695.47 S2= 9.0808 1891 df 2.263 0.2565
9 LogL= 2456.30 S2= 1.2789 1785 df 1.244 0.1354
Run Code Online (Sandbox Code Playgroud)
我在R中尝试了以下内容:
txt <- " 9 LogL= 2456.30 S2= 1.2789 1785 df 1.244 0.1354 "
as.numeric(unlist(strsplit(sub(".*LogL=*", "", txt), " "))[1])
Run Code Online (Sandbox Code Playgroud)
不适用于正数.我想象它是如此粗暴/丑陋的方式.我试着干涉regex101.com
尝试了Stackoverflow相关问题:(1) (2) (3)
我有点迷茫,似乎无法理解正则表达式.我相信这是小菜一碟.救命?
如何在调用函数参数时保留其值而不创建新变量?这就是,如何按值传递参数?
在此示例代码中:
program what
implicit none
integer :: a, b, c, d
a = 1
b = 2
c = 3
print *, a,b,c
d = f(val(a), val(b), val(c))
print *, d
print *, a,b,c
d = f(a, b, c)
print *, d
contains
function f(x,y,z) result(h)
integer:: x,y,z
integer :: h
h = x+y+z
x = 0
y = 0
z = 0
end function
end program
Run Code Online (Sandbox Code Playgroud)
当我第二次调用该函数时,它只打印 0。
给出以下简化的示例文本;
not me G(select me, and me)
G(select me) G(also me)
Run Code Online (Sandbox Code Playgroud)
使用regex
表达式我想选择之间的所有内容G(...)
作为单独的结果,即使有例如逗号也是如此。基于此处的不同答案,这是我的第一次尝试。
G\(([^)]+)\)
Run Code Online (Sandbox Code Playgroud)
非常适合第二行,但不适用于第一行。我的第二次尝试是基于其他一些答案,以便从逗号分隔的列表中选择值。
G\(([^),]+)
Run Code Online (Sandbox Code Playgroud)
基本上,我需要帮助...
预期产量:
select me
and me
select me
also me
Run Code Online (Sandbox Code Playgroud)