- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我查看了 Matrix包和他们的 slides 。我试图理解dgCMatrix
中的论点背后的直觉和含义是什么。类(class)。我明白了
@i
给出矩阵中非零条目的从零开始的行索引。@j
给出矩阵中非零条目的从零开始的列索引。@x
给出 (i,j)
处的非零元素职位。但是我不明白指针的含义@p
。 documentation说
numeric (integer-valued) vector of pointers, one for each column (or row), to the initial (zero-based) index of elements in the column (or row).
这并没有提供太多信息。在“详细信息”部分,在同一页面上,他们解释了更多内容
If
i
orj
is missing thenp
must be a non-decreasing integer vector whose first element is zero. It provides the compressed, or “pointer” representation of the row or column indices, whichever is missing. The expanded form ofp
,rep(seq_along(dp),dp)
wheredp <- diff(p)
, is used as the (1-based) row or column indices.
这对我来说绝对是不直观的。有人可以提供一个简单的解释吗p
代表?我已经创建了一个最小工作示例,但您可以随意创建一个新示例。
# Define non-zero values and their row/col indeces
i_indeces <- c(1, 3, 4, 6, 8, 9)
j_indeces <- c(2, 9, 6, 3, 9, 10)
values <- c(60, 20, 10, 40, 30, 50)
# Create the sparse matrix
A <- sparseMatrix(
i=i_indeces,
j=j_indeces,
x=values,
dims=c(10, 20)
)
哪里
> str(A)
Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
..@ i : int [1:6] 0 5 3 2 7 8
..@ p : int [1:21] 0 0 1 2 2 2 3 3 3 5 ...
..@ Dim : int [1:2] 10 20
..@ Dimnames:List of 2
.. ..$ : NULL
.. ..$ : NULL
..@ x : num [1:6] 60 40 10 20 30 50
..@ factors : list()
和
> A
10 x 20 sparse Matrix of class "dgCMatrix"
[1,] . 60 . . . . . . . . . . . . . . . . . .
[2,] . . . . . . . . . . . . . . . . . . . .
[3,] . . . . . . . . 20 . . . . . . . . . . .
[4,] . . . . . 10 . . . . . . . . . . . . . .
[5,] . . . . . . . . . . . . . . . . . . . .
[6,] . . 40 . . . . . . . . . . . . . . . . .
[7,] . . . . . . . . . . . . . . . . . . . .
[8,] . . . . . . . . 30 . . . . . . . . . . .
[9,] . . . . . . . . . 50 . . . . . . . . . .
[10,] . . . . . . . . . . . . . . . . . . . .
据我了解rep(seq_along(diff(A@p)), diff(A@p))
是 j_indeces
的重新排列形式但还是不明白什么意思。
最佳答案
我终于明白了!我将答案发布以供将来引用。查看矩阵A
[1,] . 60 . . . . . . . . . . . . . . . . . .
[2,] . . . . . . . . . . . . . . . . . . . .
[3,] . . . . . . . . 20 . . . . . . . . . . .
[4,] . . . . . 10 . . . . . . . . . . . . . .
[5,] . . . . . . . . . . . . . . . . . . . .
[6,] . . 40 . . . . . . . . . . . . . . . . .
[7,] . . . . . . . . . . . . . . . . . . . .
[8,] . . . . . . . . 30 . . . . . . . . . . .
[9,] . . . . . . . . . 50 . . . . . . . . . .
[10,] . . . . . . . . . . . . . . . . . . . .
属性p
> A@p
[1] 0 0 1 2 2 2 3 3 3 5 6 6 6 6 6 6 6 6 6 6 6
基本上计算每行中非零元素的数量。它的构造是这样的
0
(不确定原因),因此 p = [0]
接下来,从矩阵的左上角(即 [1, 1]
)开始,我们从最左边的列到最右边的列查看每一列然后我们将该列中非零元素的数量添加到“计数器”(现在设置为 0
)中。
1
没有非零元素,因此我们将 0
添加到计数器中。 p=[0,0]
。2
有一个非零元素 (60
),因此我们将 1
添加到计数器 p=[0, 0, 0+1]=[0,0,1]
3
有一个非零元素 (40
),因此 p=[0, 0, 1, 1+1]=[0, 0 , 1, 2]
4
列没有非零元素,因此 p=[0, 0, 1, 2, 2+0]=[0, 0, 1, 2, 2]
5
列没有非零元素,因此 p=[0, 0, 1, 2, 2, 2]
6
列有一个非零元素 (10
),因此 p=[0, 0, 1, 2, 2, 2, 3]
7
没有非零元素,因此 p=[0, 0, 1, 2, 2, 2, 3, 3]
8
没有非零元素,因此 p=[0, 0, 1, 2, 2, 2, 3, 3, 3]
9
有两个非零元素(20
和 30
),因此 p=[0, 0, 1, 2 , 2, 2, 3, 3, 3, 5]
10
有 1 个非零元素 (50
),因此 p=[0, 0, 1, 2, 2, 2, 3, 3 , 3, 5, 6]
11
到 20
的元素全部为零,因此我们附加 [6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
因此我们得到了我们想要的p
。背后的直觉是,它是从左到右按列有多少个非零元素的计数器。
关于R矩阵包: Meaning of the attributes in the dgCMatrix class for sparse matrices,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59545714/
关于 this页面,我看到以下代码: if ((attributes & FileAttributes.Hidden) == FileAttributes.Hidden) 但我不明白为什么会变成这样。
函数pthread_mutex_init允许您指定指向属性的指针。但是我还没有找到关于pthread属性是什么的很好的解释。我一直只是提供NULL。这个论点有用吗? 该文档,对于那些忘记它的人: PT
我们有一个 xml 节点“item”,其属性为“style”,即“Header1”。但是,这种风格可以改变。我们有一个名为 Header1 的属性集,它定义了它在 PDF 中的外观,通过 xsl:fo
我的任务是在用户点击它时从输入框中删除占位符并使标签可见。如果用户未在其中再次填写任何内容,请放回占位符并使标签不可见。 我可以隐藏它但不能重新分配它。我试过 element.setAttribute
我从文章中编写代码,并且有: public IActionResult Create([Bind(Include="Imie,Nazwisko,Stanowisko,Wiek")] Pracownik
你能给我解释一下以下属性吗? 1) [MonoTouch.Foundation.Register("SomeClass")] 这个属性是否只用于向IB注册类?以编程方式扩展 iOS 类时是否必须使用此
我正在编写一个 C++ 程序,在调试时我在执行以下函数: int CClass::do_something() { ... // I've put a breakpoint here } 我的 C
我已经在 polymer 0.5 中构建了我的应用程序。 现在我已经将它更新到 polymer 1.0。 对于响应式布局,我使用了一个布局属性,它使用 Polymer 0.5 中布局属性的自定义逻辑。
我是使用 Jade 的新手——到目前为止它很棒。 但是我需要发生的一件事是具有“itemscope”属性的元素: 我的 Jade 符是: header(itemscope, itemtype='ht
我正在研究一个厨师实现,有时在过去的地方使用了 attribute.set,attribute.default 会这样做。为了解决这个问题,我对 Chef 属性优先范式非常熟悉。我知道“正常”属性(使
我经常看到html data-attribute (s) 将特定值/参数添加到 html 元素,例如使用它们将按钮“链接”到要打开的模式对话框等的 Bootstrap。 现在,我看到一个几乎著名的
假设如下: def create_new_salt self.salt = self.object_id.to_s + rand.to_s end 为什么使用“ self ”更好。而不是实例变量“
根据我的理解,Backbone.js 模型的属性应该通过以下方式声明为有点私有(private)的成员变量 this.set({ attributeName: attributeValue }) //
我有一个看起来像下面的XML文档: ... ... ... ...
我正在实现一个 JSF 组件,需要有条件地添加一些属性。这个问题类似于之前的 JSF: p:dataTable with f:attribute results in "argument type m
我正在尝试将应用程序发布到 Android 电子市场,但出现以下错误: W/ResourceType(16964): No known package when getting value for r
抱歉这么具体的应用程序,但我注意到另一篇关于 Maya 开发的回答很好的帖子。 我刚刚为 Maya 编写了一个插件节点。它只是根据湍流函数杀死一堆粒子。湍流由许多可在属性编辑器中调整的属性驱动。 在属
我在 html 元素中的数据属性为 Update .它具有数据属性的 bool 值。 跟下面的元素Update有什么区别吗?因为数据属性用双引号引起来。 html是否支持 bool 值? 最佳答案 b
我正在尝试为企业库 5.0 的异常处理 block 创建自定义异常处理程序。据我了解,我需要使用属性开始上课“[ConfigurationElementType(typeof(CustomHandle
我找不到这两个选择器之间的区别。两者似乎都做同样的事情,即根据包含给定字符串的特定属性值选择标签。 对于 [attribute~=value] :http://www.w3schools.com/cs
我是一名优秀的程序员,十分优秀!