关于创建单向,延迟评估,可能无限的迭代器,我遇到了Ruby的问题.基本上,我正在尝试使用Ruby,就像我使用Haskell列表,以及在较小程度上使用Python生成器.
并不是我本身不理解它们; 我只是不知道如何像其他语言一样随意使用它们,而且我也不确定Ruby中的哪些方法会将它们变成背后的数组,将整个序列卸载到内存中是不必要的.
是的,我一直在研究Ruby参考手册.其实半小时,专注.或者显然不是.
例如,如果我要实现卡片组,它在Python中看起来像这样(未经测试):
# Python 3
from itertools import chain, count
face_ranks =
dict(
zip(
('jack', 'queen', 'king', 'ace'),
count(11)))
sorted_deck =
map(
lambda suit:
map(
lambda rank:
{
'rank' : rank,
'suit' : suit
},
chain(
range(2, 11),
face_ranks.keys())),
('clubs', 'diamonds', 'hearts', 'spades'))
Run Code Online (Sandbox Code Playgroud)
那么,我如何在Ruby中完成这项工作,完全避免使用数组呢?请注意,据我所知,上面的代码只使用元组和生成器:在任何时候都不会将整个序列转储到内存中,就像我使用了数组一样.我对上面的代码可能是错的,但是你得到了我想要的东西.
我如何链接迭代器(如Python的chain())?如何生成无限范围的迭代器(如Python的count())?如何在迭代器中添加一个数组(比如将元组传递给Python的链())而不将整个过程转换为数组?
我见过解决方案,但它们涉及阵列或不必要的复杂性,如光纤.
在Python中,我可以像数组一样简单地操作和抛出迭代器.我几乎可以把它们当作Haskell列表来对待,我最熟悉的就是它,而且在编码时我的想法就是这样.我对Ruby数组感到不舒服,这就是为什么我寻求其替代品的帮助.
我已经设法在互联网上获取有关它的信息,但我找不到任何涵盖Ruby中这种数据结构的基本操作?有帮助吗?
我有一个大的声音文件(150 MB),我想分成一些更容易管理的大小文件,比如说有5分钟音频的文件.显然,最后一段将是<= 5分钟,那没关系.有没有办法轻松完成这类任务?
可以使用以下链接下载用于此问题的小样本.mp3文件:download.linnrecords.com/test/mp3/recit.aspx.
这是我到目前为止所尝试的.我使用readMP3from 导入数据tuneR并将使用该cutw函数,但是没有找到使用它的有效方法.
library(tuneR)
sample<-readMP3("recit.mp3")
# the file is only 9.04 seconds long (44.1 Hz, 16-bit, sterio)
# so, for this example we can cut it into 0.5 second intervals)
subsamp1<-cutw(sample, from=0, to=0.5, output="Wave")
# then I would have to do this for each interval up to:
subsampn<-cutw(sample, from=9, to=9.04, output="Wave")
# where I have to explicitly state the maximum second (i.e. 9.04),
# unless there is a way I don't …Run Code Online (Sandbox Code Playgroud) 我很惊讶地看到"无丢弃"和"不允许"的光标样式在CSS中本质上是相同的.那么,为什么我们都需要它们呢?
我有一个如下所示的数据框:
V1 V2
peanut butter sandwich 2 slices of bread 1 tablespoon peanut butter
Run Code Online (Sandbox Code Playgroud)
我的目标是:
V1 V2
peanut butter sandwich 2 slices of bread
peanut butter sandwich 1 tablespoon peanut butter
Run Code Online (Sandbox Code Playgroud)
我试图分裂字符串使用strsplit(df$v2, " "),但我只能拆分" ".我不确定你是否只能在第一个数字处拆分字符串,然后取字符直到下一个数字.
我当前图形的悬停信息略有旋转(见下图).也就是说,当我将鼠标悬停在条形图上时,悬停文本会从水平方向旋转约60度(例如,请参见图像中的第二个条形图).如何将旋转设置为0?
# sample data
tbl = data.frame(list_id = c(1,2,3,4,5,1,2,3,4,5,1,2,3,4,5),
main_count = c(1,2,3,4,1,2,3,4,1,2,3,4,1,2,3),
total = c(23,34,66,22,66,88,55,44,22,11,33,55,43,22,55))
plot_ly(tbl, type = "bar",
y = main_count, x = total, group = list_id, orientation = "h") %>%
layout(xaxis = list(title = ""), barmode = "stack")
Run Code Online (Sandbox Code Playgroud)
我想制作一个交互作用图,从回归模型的结果中可视地显示分类变量(4个级别)和标准化连续变量的相互作用斜率的差异或相似性.
with(GLMModel, interaction.plot(continuous.var, categorical.var, response.var))
不是我想要的.它产生一个图,其中斜率随连续变量的每个值而变化.我正在寻找一个具有恒定斜率的图,如下图所示:
有任何想法吗?
我适合表单的模型fit<-glmer(resp.var ~ cont.var*cat.var + (1|rand.eff) , data = sample.data , poisson)
这是一些示例数据:
structure(list(cat.var = structure(c(4L, 4L, 1L, 4L, 1L, 2L,
1L, 1L, 1L, 1L, 4L, 1L, 1L, 3L, 2L, 4L, 1L, 1L, 1L, 2L, 1L, 2L,
2L, 1L, 3L, 1L, 1L, 2L, 4L, 1L, 2L, 1L, 1L, 4L, 1L, 3L, 1L, 3L,
3L, 4L, 3L, 4L, 1L, 3L, 3L, 1L, 2L, 3L, 4L, 3L, 4L, 2L, 1L, 1L,
4L, 1L, 1L, 1L, …Run Code Online (Sandbox Code Playgroud)
之前我问过这个关于分割音频文件的问题。我从 @Jean V. Adams 得到的答案对于小声音对象来说相对有效(缺点:输入是立体声,输出是单声道,而不是立体声):
library(seewave)
# your audio file (using example file from seewave package)
data(tico)
audio <- tico # this is an S4 class object
# the frequency of your audio file
freq <- 22050
# the length and duration of your audio file
totlen <- length(audio)
totsec <- totlen/freq
# the duration that you want to chop the file into
seglen <- 0.5
# defining the break points
breaks <- unique(c(seq(0, totsec, seglen), totsec))
index …Run Code Online (Sandbox Code Playgroud) 我有Google地图和带有文本标签的坐标列表。预览时,标签重叠,因此变得不可读:
library(ggmap)
WPmap <- qmap(c(lon=4.80324, lat=52.40738), zoom = 12, source = "google")
Run Code Online (Sandbox Code Playgroud)
表kaart_rtw:
Naam lat lon
1 Nieuw-Zeelandweg 52.40466 4.80214
2 Portsmuiden 52.39014 4.78554
3 Westhavenweg 52.41602 4.82282
4 Westhavenweg 52.41702 4.82282
5 Westhavenweg 52.41802 4.82282
6 Deccaweg 52.40196 4.83910
7 Coenhavenweg 52.40364 4.86195
AmsterdamMap + geom_text(data = kaart_rtw, aes(label = kaart_rtw$Naam, x = X, y = Y))
Run Code Online (Sandbox Code Playgroud)
有没有办法停止重叠?
我想将 Excel 格式的日期转换为 yyyy-mm-dd,以便在动物园对象中转换 data.frame。
使用以下两个公式不会给出相同的结果?
为什么会这样?
> as.Date(41375, origin = "1899-12-30")
[1] "2013-04-11"
> as.Date(41375, tz = "CET")
[1] "2083-04-13"
Run Code Online (Sandbox Code Playgroud) rgl例程是否接受希腊字母的"表达式"和轴标记的超/子脚本的使用?
就像是
xlab=(expression(paste("Lyman ",alpha,)))
Run Code Online (Sandbox Code Playgroud)
在普通的情节调用中效果非常好,但似乎只显示"(粘贴("Lyman",alpha,)"作为plot3d和decorate3d中的轴标签.如果没有,我如何将这些字符添加到使用plot3d生成的3D散点图中?