- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最近有关使用 require 与::的问题引发了有关在 R 中编程时使用哪些编程风格以及它们的优点/缺点的问题。浏览源码或者网上浏览,你会看到很多不同的样式显示。
我的代码的主要趋势:
重向量化我经常使用索引(和嵌套索引),这有时会导致代码相当晦涩,但通常比其他解决方案快得多。例如:x[x < 5] <- 0
而不是x <- ifelse(x < 5, x, 0)
我倾向于嵌套函数以避免因需要清理的临时对象而导致内存重载。特别是对于操作大型数据集的函数来说,这可能是一个真正的负担。例如:y <- cbind(x,as.numeric(factor(x)))
而不是y <- as.numeric(factor(x)) ; z <- cbind(x,y)
我编写了很多自定义函数,即使我只在例如中使用了一次代码。一个sapply
。我相信它可以使其更具可读性,而无需创建可以随处可见的对象。
我不惜一切代价避免循环,因为我认为矢量化更加干净(而且更快)
然而,我注意到对此有不同的看法,有些人倾向于放弃他们所谓的“Perl”编程方式(甚至是“Lisp”,所有这些括号在我的代码中飞来飞去.不过我不会走那么远)。
您认为 R 中良好的编码实践是什么?
您的编程风格是什么?您如何看待它的优点和缺点?
最佳答案
我做什么取决于我编写代码的原因。如果我正在为我的研究(日常工作)编写数据分析脚本,我想要一些可以工作但在几个月甚至几年后仍可读和可理解的东西。我不太关心计算时间。使用lapply
等进行矢量化。可能会导致混淆,我想避免这种情况。
在这种情况下,如果lapply
让我跳过障碍来构造适当的匿名函数,我会使用循环进行重复过程。我会在第一个项目符号中使用 ifelse() ,因为至少在我看来,该调用的意图比子集+替换版本更容易理解。在我的数据分析中,我更关心的是让事情正确,而不是计算时间——总有周末和晚上我不在办公室的时候,我可以处理大型工作。
对于你的其他子弹;我倾向于不内联/嵌套调用,除非它们非常微不足道。如果我明确地阐明这些步骤,我会发现代码更易于阅读,因此不太可能包含错误。
我一直在编写自定义函数,特别是当我要在循环或类似情况中重复调用与该函数等效的代码时。这样,我将主数据分析脚本中的代码封装到它自己的 .R
文件中,这有助于将分析的意图与分析的完成方式分开。如果该功能有用,我会将其用于其他项目等。
如果我正在为一个包编写代码,我可能会以与数据分析(熟悉)相同的态度开始,以获得我知道有效的东西,然后只有在我想提高计算时间时才进行优化。
我试图避免做的一件事是,无论我编码的目的如何,当我编码时太聪明。归根结底,我有时并不像我想象的那么聪明,如果我让事情变得简单,我就不会像我试图变得聪明时那样经常摔倒。
关于r - R 中的编码实践 : what are the advantages and disadvantages of different styles?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4406873/
这两个文件之间的主要区别是什么:styles.xml (res\values\styles.xml) 和 styles.xml (res\values-v21\styles.xml ? 针对旧的and
我正在尝试将按钮样式设置为看起来像我在 Android Full Width ICS style Minimalist Bottom ButtonsViews 中询问的那些按钮. 我已经成功了,有兴趣
只是想检查一下: 如果我有 Style.css 和 Style.min.css(在同一目录中)并且我的 html 页面引用了 Style.css,浏览器/服务器是否会下载 Style.min.css?
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
从上面的问题,我认为这会相对容易,但我找不到任何关于如何向“样式”下拉菜单添加样式的文档。谁能把我推向正确的方向? 最佳答案 样式下拉列表会根据主题的typography.css 文件中的类自动填充。
我有两种风格 还有这个 如果我尝试在这样的对象上使用第二个 编译器抛出这个错误: 错误 16 Style 对象不能影响它所应用的对象的 St
我想知道是否有关于在 Lisp 中使用标签的标准做法。我一直在弄乱这里第一个答案中描述的算法的 Lisp 实现 Generating permutations lazily我当前的版本使用标签来分解部
我想以编程方式获取样式为“ButtonBar”的 LinearLayout 的背景颜色。 我试过用LinearLayout的getBackgroundColor,没找到方法。 有人有想法吗?问候 最
我在扩展 javax.swing.text.DefaultStyledDocument 的类中遇到间歇性问题。该文档正在发送到打印机。大多数情况下,文档的格式看起来是正确的,但有时却并非如此。看起来格
我想将所有元素设为边框。我想这样做: * { box-sizing: border-box; } 如何使用 React 的内联样式做到这一点?我不想在每个组件中都写这个规则... 最佳答案 这是不
当我创建一个 Android 应用程序项目时,我在 (android:theme="@style/AppTheme") 上的 AndroidManifest.xml 中出现错误 找不到与给定名称匹配的
一种风格ol.layer.Vector可以设置为 ol.style.Style ,样式函数或 ol.style.Style 的数组.数组的用途和作用——与仅传递 ol.style.Style 相比目的
我的意思是内部风格 #div {color:red;} document.getElementsByTagName('style').innerHTML 不工作... document.style
http://synergine.net/rain.php 你好。我试图清除 .ripple div 中所有元素的样式属性,但没有成功: function contact(level){ focus_
我使用 vue 和 v-for 循环来创建跨度。以下是使用 bootstrap4 的背景颜色的一种样式的成功: {{ group }} export default {
有没有办法只存储元素的当前样式状态,这样我就可以搞砸样式然后再重置它? 类似于(虽然这不起作用):http://jsfiddle.net/843Pj/ var el=document.getEleme
我正在尝试将 tinymce 配置为不允许在 style 属性中使用 css 样式。 我只想允许一种样式,即文本装饰。这是一个类似的问题 http://tinymce.moxiecode.com/pu
我对style.css做了一些修改,上传到网上。但是它没有显示我需要的结果。即它仍然采用旧的 style.css 代码。 我可以离线查看更改,但是当我给它完整的 href 链接时,它没有显示必要的结果
我添加到 web 文件夹下的样式文件夹似乎没有被我的 JSP 上的调度程序 servlet 映射。我明白了 WARN : org.springframework.web.servlet.PageNot
是否有任何用于 JQuery 数据表的 Metro Style CSS 样式插件? 最佳答案 看看here 或者您可以自己创建一个。 Metro 风格很容易用 Segoe 字体复制 关于jquery
我是一名优秀的程序员,十分优秀!