用R中的另一个矩阵创建一个矩阵

英米尔

因此,我在R中有一个类似于以下内容的数据集(用法):

Item    Bike    Usage
item1   bike1   1
item2   bike1   2
item1   bike2   1
item3   bike2   2

我想用用法转换成矩阵。我创建了一个矩阵,其中标题为自行车(自行车1,bike2),行名称为(项目1,项目2,项目3),并用NA填充,现在我想用它来填充用法,例如:

bike1  bike2
item 1 1      1
item 2 1      0
item 3 0      1

我创建了以下循环:

for (i in 1:nrow(usage)) {
  item<-usage[i,1]
  bike<-usage[i,2]
  matriz[item,bike]<-usage[i,3]

matriz[is.na(matriz)]<-0

}

但是我得到这个错误:

Error in `[<-`(`*tmp*`, item, bike, value = list(Usage = 6)) : 
  invalid subscript type 'list'
托马斯·艾斯科丁

也许您可以尝试xtabs是否需要桌子

res_tb <- xtabs(Usage~.,df)

这样

> res_tb
       Bike
Item    bike1 bike2
  item1     1     1
  item2     2     0
  item3     0     2

数据

df <- structure(list(Item = c("item1", "item2", "item1", "item3"), 
    Bike = c("bike1", "bike1", "bike2", "bike2"), Usage = c(1L, 
    2L, 1L, 2L)), class = "data.frame", row.names = c(NA, -4L
))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

用R中的另一个矩阵替换一个矩阵

在“ R”中创建一个矩阵,该矩阵中的每个元素都是另一个矩阵

从另一个没有循环的矩阵的随机块行创建矩阵(在R中)?

通过累加另一个矩阵的行在R中创建新矩阵

R从另一个矩阵中的信息创建一个二进制矩阵

用另一个矩阵替换一个矩阵

创建一个矩阵,其中另一个矩阵采用元素

用numpy中的另一个小矩阵替换矩阵的子部分

用另一个矩阵对矩阵中的行元素进行排序

R:从另一个矩阵的元素减去一个矩阵的元素

R:将矩阵与r中的另一个矩阵映射

比较矩阵中的列表与R中的另一个矩阵

根据另一个矩阵中的顺序对一个矩阵进行排序

在另一个更大的矩阵中嵌套一个单位矩阵

根据R中另一个矩阵的行和列对矩阵进行排序

根据 r 中的另一个矩阵对矩阵进行排序

如何根据R中另一个矩阵的值生成矩阵

R-识别并删除在另一个矩阵中重复的矩阵行

如何使用r中的另一个矩阵通过for循环更改矩阵的值?

R:根据另一个矩阵中的值和坐标为新矩阵赋值

在MATLAB中计算一个矩阵与另一个矩阵之间的差矩阵

根据另一个矩阵删除矩阵行?

numpy用另一个矩阵逐元素替换矩阵

用另一个矩阵的图例绘制2d矩阵

在另一个分配的矩阵中为特定范围创建cv :: Mat标头

numpy:使用一个矩阵作为另一个矩阵的索引来创建张量吗?

如何在R中将一个矩阵的每一行与另一个矩阵相乘?

用同一位置的另一个矩阵的NA替换一个矩阵中的值

对于另一个矩阵的每一列,逐行从一个矩阵中减去值