小编dou*_*oug的帖子

如何在R中正确使用列表?

简要背景:广泛使用的许多(大多数?)当代编程语言至少有一些共同的ADT [抽象数据类型],特别是

  • string(由字符组成的序列)

  • list(有序的值集合),和

  • 基于地图的类型(将键映射到值的无序数组)

在R编程语言中,前两个分别实现为charactervector.

当我开始学习R时,几乎从一开始就有两件事是显而易见的:list是R中最重要的数据类型(因为它是R的父类data.frame),其次,我无法理解它们是如何工作的,至少不能很好地在我的代码中正确使用它们.

首先,在我看来,R的list数据类型是地图ADT的简单实现(dictionary在Python中,NSMutableDictionary在Objective C中,hash在Perl和Ruby中,object literal在Javascript中,等等).

例如,您可以像创建Python字典一样创建它们,方法是将键值对传递给构造函数(在Python中dict不是这样list):

x = list("ev1"=10, "ev2"=15, "rv"="Group 1")
Run Code Online (Sandbox Code Playgroud)

并且您可以像访问Python字典那样访问R List的项目,例如x['ev1'].同样,您可以通过以下方式仅检索"键"或仅检索"值":

names(x)    # fetch just the 'keys' of an R list
# [1] "ev1" "ev2" "rv"

unlist(x)   # fetch just the 'values' of an R list
#   ev1       ev2        rv 
# …
Run Code Online (Sandbox Code Playgroud)

language-features r list abstract-data-type data-structures

308
推荐指数
9
解决办法
20万
查看次数

NumPy Matrix与Array类的乘法有何不同?

numpy文档建议使用数组而不是矩阵来处理矩阵.但是,与octave(我直到最近使用)不同,*不执行矩阵乘法,你需要使用函数matrixmultipy().我觉得这使得代码非常难以理解.

有人分享我的观点,并找到了解决方案吗?

python arrays numpy matrix matrix-multiplication

129
推荐指数
7
解决办法
23万
查看次数

为什么必须在反向传播神经网络中使用非线性激活函数?

我一直在读神经网络上的一些东西,我理解单层神经网络的一般原理.我理解对aditional图层的需求,但为什么要使用非线性激活函数?

这个问题之后是这个问题:用于反向传播的激活函数的衍生物是什么?

math machine-learning neural-network deep-learning

123
推荐指数
6
解决办法
6万
查看次数

多层感知器(MLP)架构:选择隐藏层数和隐藏层大小的标准?

如果我们有10个特征向量,那么我们可以在输入层有10个神经节点.如果我们有5个输出类,那么我们可以在输出层有5个节点.但是选择MLP中隐藏层数的标准是什么以及有多少神经节点1个隐藏层中的节点?

machine-learning perceptron neural-network deep-learning

97
推荐指数
1
解决办法
5万
查看次数

如何使用'扫描'功能

当我查看R Packages的源代码时,我会看到sweep常用的函数.有时候,当一个更简单的函数已经足够时(例如,apply),它会被使用,有时,如果不花费相当多的时间来逐步执行代码块,就不可能确切地知道它在做什么.

我可以sweep使用更简单的函数重现效果的事实表明我不理解sweep核心用例,并且这个函数经常使用的事实表明它非常有用.

上下文:

sweep是R标准库中的一个函数; 它的论点是:

sweep(x, MARGIN, STATS, FUN="-", check.margin=T, ...)

# x is the data
# STATS refers to the summary statistics which you wish to 'sweep out'
# FUN is the function used to carry out the sweep, "-" is the default
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,参数类似于applysweep需要一个参数,STATS.

另一个关键区别是sweep返回一个与输入数组相同形状的数组,而返回的结果apply取决于传入的函数.

sweep 在行动:

# e.g., use 'sweep' to express a given matrix in …
Run Code Online (Sandbox Code Playgroud)

statistics r

95
推荐指数
3
解决办法
4万
查看次数

几何意义:是否有内置?

我试图找到几何平均值的内置但不能.

(显然,在shell中工作时内置不会保存我,也不会怀疑在准确性上有任何差异;对于脚本,我尝试尽可能多地使用内置函数,其中(累积)性能提升通常是显而易见的.

如果没有一个(我怀疑是这种情况),这里是我的.

gm_mean = function(a){prod(a)^(1/length(a))}
Run Code Online (Sandbox Code Playgroud)

statistics r built-in geometric-mean

94
推荐指数
5
解决办法
7万
查看次数

将函数导入当前命名空间

假设我有一个由某些函数组成的R源文件,无论它们是什么,例如,

fnx = function(x){(x - mean(x))/sd(x)}
Run Code Online (Sandbox Code Playgroud)

我希望能够在我当前的R会话中访问它们(显然没有输入它们).如果库("/ path/to/file/my_fn_lib1.r")工作,那将是很好的,因为"import"在Python中工作,但事实并非如此.一个显而易见的解决方案是创建一个R包,但我想避免这种开销只是为了导入一些函数.

r

40
推荐指数
1
解决办法
3万
查看次数

如果访问者来自谷歌adwords点击,如何捕获

当用户在我的网站上注册时,我希望能够通过Adwords广告系列存储他们是否来到我的网站.

我知道谷歌使用javascript来跟踪基于用户计算机上创建的cookie的转换.有没有办法可以检查这个cookie,以便我可以将源存储在用户帐户中?

tracking google-analytics web-analytics google-adwords

40
推荐指数
3
解决办法
3万
查看次数

开发Dilbert漫画图像分类算法的一般方法

作为一个自我发展练习,我想开发一个简单的分类算法,给定Dilbert卡通片的特定单元格,能够识别出动画片中存在哪些角色(Dilbert,PHB,Ratbert等).

我认为最好的方法是(1)将一些算法应用于图像,将其转换为一组特征,以及(2)使用训练集和许多可能的机器学习算法之一来关联存在/没有特定特征存在于细胞中的某些特征.

所以我的问题是 - (a)这是正确的方法,(b)因为有许多分类算法和ML算法要测试,找到合适的算法的好方法是什么,以及(c)你会开始哪种算法因为我们基本上是在对卡通进行分类练习.

python classification machine-learning computer-vision feature-detection

31
推荐指数
1
解决办法
7993
查看次数

python中的图形渲染(流程图可视化)

可视化由python中编码的边连接的节点序列.

寻找一个python库来可视化这样的图形数据.

用python或python绑定编写的库都可以

(我知道Visustin,但寻找替代方案)

python data-visualization graph graphviz

28
推荐指数
2
解决办法
6万
查看次数