假设我在R中有两个列表,不一定长度相同,如:
a <- list('a.1','a.2', 'a.3')
b <- list('b.1','b.2', 'b.3', 'b.4')
Run Code Online (Sandbox Code Playgroud)
构造交错元素列表的最佳方法是什么,一旦添加了较短列表的元素,较长列表的其余元素将追加到末尾?,如:
interleaved <- list('a.1','b.1','a.2', 'b.2', 'a.3', 'b.3','b.4')
Run Code Online (Sandbox Code Playgroud)
不使用循环.我知道mapply适用于两个列表长度相等的情况.
这可能是一个蹩脚的问题,但无论如何.在RStudio中,我只是注意到键入一个数字,......和另一个数字会将字符的语法高亮显示从海军蓝变为淡蓝色以及...之后的数字.
例如,这是一个具有这种独特颜色的数字:
4..4
Run Code Online (Sandbox Code Playgroud)
部分"..4"具有浅蓝色.
我使用默认语法着色.我尝试在解释器中引入这样的常量但我只得到错误"错误:"4..5"中的意外数字常量,并且带有"两个点"或...的查询似乎不是非常友好的谷歌.
有谁知道".."的用法是什么,如果有的话?
R中是否有一个包或语言结构可以促进或提供" 类似Python的生成器 "的实现?
通过"类似Python的生成器",我指的是在调用之间保持状态的函数,在R语法中,从Python 借用关键字yield将类似于:
iterable.fun <- function(){
yield list('a','b','c')
}
Run Code Online (Sandbox Code Playgroud)
使用yield而不是return,然后连续三次调用函数将给出:
> iterable.fun()
'a'
> iterable.fun()
'b'
> iterable.fun()
'c'
Run Code Online (Sandbox Code Playgroud)
编辑:我遗漏了Python生成器的一个方面,使它们与迭代器不同.迭代的整个对象列表不是在第一次调用时构建的,然后是迭代的,但是每个函数调用都会创建一个将为该调用返回的元素.
在knitr中,是否有任何选项允许插入代码而不执行?我只希望代码以与其他knitr代码块相同的样式出现在文档中.
我对.Rnw文档中的LaTeX选项特别感兴趣.
我知道bash函数$ RANDOM会在一定范围内生成随机整数,但是这些数字是否应该遵循(或近似)均匀的离散分布?
是否可以从列表中创建省略号(...)?我的想法是能够做到这样的事情:
mylist <- list(a=1,b=2,c=3)
myellipsis <- create_ellipsis(mylist)
print(switch('a', myellipsis)) # output 1
Run Code Online (Sandbox Code Playgroud) 假设我有两个ggplot美学:
a.1 <- aes(v.1=1, v.2=2)
a.2 <- aes(v.3=3)
Run Code Online (Sandbox Code Playgroud)
有没有办法结合已经建成的美学?在我的例子中,它将是这样的:
a.merged <- aes(v.1=2, v.2=2,v.3=3)
Run Code Online (Sandbox Code Playgroud)
我知道aes_string可以用来构建一个可以连接的字符向量的美学,但我看的是已经构建了两个美学的情况,我想避免首先将它们转换为字符.
我试图相应地修改ActionButton对当前屏幕的可见性(使用屏幕管理器).我找不到可见属性或类似的东西,可以简单地切换可见性(对于ActionButton和一般的Widgets都没有).
2013年的帖子建议改变按钮的纹理,但我不想依靠这样的黑客来完成这么简单的任务,此外,我的应用程序的背景将是可变的.
另一篇文章建议删除小部件并根据需要再次添加.尽管它不必要复杂.我修改为在我的情况下工作(ActionBar和ActionButton),所以我从ActionView清除小部件,然后尝试添加ActionButton.我尝试存储weakref和self成员,我得到了以下错误:
WidgetException: Cannot add <kivy.uix.actionbar.ActionButton object at 0x7fcd3fe22ce8>, it already has a parent <kivy.uix.actionbar.ActionView object at 0x7fcd3fe22870>
Run Code Online (Sandbox Code Playgroud)
任何想法将不胜感激.我正在使用开发版,但它不适用于1.8.
编辑 我尝试了以下代码:
<AppActionBar>:
ActionView:
id: av
ActionButton:
id: btn_next
text: 'Next screen'
icon: 'data/icons/next_dark.png'
important: True
on_release: app.go_next()
Run Code Online (Sandbox Code Playgroud)
加载场景后运行此功能:
def _initialize(self):
self.next = self.ids.btn_next.__self__ # same result if I don't use .__self__
Run Code Online (Sandbox Code Playgroud)
此代码引发了上面发布的异常:
self.ids.av.clear_widgets()
self.ids.av.add_widget(self.next)
Run Code Online (Sandbox Code Playgroud)
这是完整的异常跟踪:
self._mainloop()
File "/usr/local/lib/python2.7/dist-packages/kivy/core/window/window_pygame.py", line 266, in _mainloop
EventLoop.idle()
File "/usr/local/lib/python2.7/dist-packages/kivy/base.py", line 330, in idle
Clock.tick_draw()
File "/usr/local/lib/python2.7/dist-packages/kivy/clock.py", line 429, in …Run Code Online (Sandbox Code Playgroud) r ×6
python ×2
aesthetics ×1
bash ×1
generator ×1
ggplot2 ×1
kivy ×1
knitr ×1
linux ×1
python-3.x ×1
statistics ×1