试图将数据集(sdevDFC)重新组织成一个矩阵,以我的纬度(Lat)为行名,经度(Lon)为列名,然后用与坐标相对应的值填充矩阵。
stand_dev_m <- matrix(data=sdevDFC$SDev, nrow=length(sdevDFC$Lat), ncol=length(sdevDFC$Lon), byrow=TRUE, dimnames = list(sdevDFC$Lat, sdevDFC$Lon))
列名和行名将按应有的方式显示,但我的数据会填充进去,这样它们各自列中的所有值都会如图所示相同(情况不应如此,因为我的值都不会重复)。
我已经用byrow=FALSE填充了它,看看它是否也发生了(确实发生了),我还使用了名称和行名而不是dimname(什么也没改变)。
我将感谢任何对我可能在这里做错了什么的见解-也是这个平台的新内容,所以如果我错过了一个指导方针或其他类似的问题,我道歉
示例数据:
df <- data.frame(LON=1:5,
LAT=11:15,
VAL=letters[1:5],
stringsAsFactors=F)
您可以尝试以下操作:
rn <- df$LON # Save what-will-be-rownames
df1 <- df %>%
spread(LAT,VAL,fill=NA) %>%
select(-LON) %>%
setNames(., df$LAT)
rownames(df1) <- rn
输出
11 12 13 14 15
1 a <NA> <NA> <NA> <NA>
2 <NA> b <NA> <NA> <NA>
3 <NA> <NA> c <NA> <NA>
4 <NA> <NA> <NA> d <NA>
5 <NA> <NA> <NA> <NA> e
问题内容: 我有以下代码: 它创建一个填充零的矩阵。相反,我想知道是否有一种函数或方法可以将它们初始化为s,而方法很简单。 问题答案: 您很少需要在numpy中进行矢量操作循环。您可以创建一个未初始化的数组并立即分配给所有条目: 我已经在这里和Blaenk发布的时间安排了时间: 时序显示优先选择作为更快的替代方案。OTOH,我喜欢numpy的便捷实现,在该实现中您可以同时为整个slice分配值,代
主要内容:语法,例子,访问矩阵的元素,矩阵计算矩阵是其中元素以二维矩形布局排列的R对象。它们包含相同原子类型的元素。 虽然我们可以创建一个仅包含字符或仅包含逻辑值的矩阵,但它们没有太多用处。 我们使用包含数学元素的矩阵来在数学计算中使用。 矩阵可通过使用函数来创建。 语法 在R中创建矩阵的基本语法是 - 以下是使用的参数的描述 - data - 是将要转为矩阵元素的输入向量。 nrow - 是要创建的行数。 ncol - 是要创建的列数。 b
问题内容: 我注意到Pandas现在已支持稀疏矩阵和数组。目前,我创建这样的: 有没有办法用或创建一个?转换为密集格式会严重破坏RAM。谢谢! 问题答案: 不支持直接转换ATM。欢迎捐款! 试试这个,在内存上应该没问题,因为SpareSeries很像csc_matrix(用于1列),而且空间效率很高
问题内容: 我有一个二维的numpy数组看起来像 我想在上面显示的1上方创建像蒙版这样的边界框。例如,它应该看起来像这样 我如何轻松做到这一点?另外,如果存在其他编号(例如2,3等),但我想忽略它们,而该组主要是2,该怎么办。 问题答案: 在组件标签方面,我们必须让生活变得轻松。我们可以用来标记数组中的不同组件,并获得相应的切片,在这种情况下,可以使用它们来将值设置为: 如果我们尝试提出的示例:
问题内容: 是否可以从函数构造矩阵?在这种情况下,该函数特别是两个向量的绝对差:。一个使用常规python的最小工作示例: 给予: 有一个看起来像这样的构造会很好: 我可以在其中传递带有参数的输入函数,并保留numpy的速度优势。 问题答案: 我建议看看numpy的广播功能: http://docs.scipy.org/doc/numpy/user/basics.broadcasting.html
在R编程中,如何子集一个矩阵,以便跳过中间的列?我只知道如何像1:4那样连续地做,但是如果我想要第一、第二和第四个柱呢
我有两个列表,每个列表中有两个矩阵。。是否有一种方法可以对它们进行矩阵计算,即相加,其中matrix1中的蓝色矩阵与matrix2中的蓝色矩阵相加,matrix1中的红色矩阵与matrix2中的红色矩阵相加。我能想到的唯一方法是在循环中进行计算 请注意,我将有大约10个,以及不止一组(即蓝色、红色、绿色、紫色)
我有22个矩阵,行数相等(即691个),列数不同(即22-25个)。我必须在每个矩阵中添加对应于同一行、同一列的值,从而得到一个维度为691*25的矩阵。 每个矩阵都是带有数值的双矩阵。如何将这两个矩阵相加,得到第三个矩阵的维数为691*25。因为fullanno2短三列,所以对于这些列,生成的矩阵将只有来自第一个矩阵的值。 我的方法是:使用colname的setdiff来获取较小矩阵中不存在的列