程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了更改数组中矩阵的名称失败 数据大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决更改数组中矩阵的名称失败 数据?

开发过程中遇到更改数组中矩阵的名称失败 数据的问题如何解决?下面主要结合日常开发的经验,给出你关于更改数组中矩阵的名称失败 数据的解决方法建议,希望对你解决更改数组中矩阵的名称失败 数据有所启发或帮助;

我正在制作一些用于基本 R 使用的练习和演示。不久前,为了玩弄子集并访问对象中的不同元素,我制作了一个练习,即“尝试更改数组 X 中矩阵 1 的行和列的名称”。这是数组:

,1

     [,1] [,2] [,3] [,4] [,5]
[1,]  0.5  0.5  0.5  0.5  0.5
[2,]  0.5  0.5  0.5  0.5  0.5
[3,]  0.5  0.5  0.5  0.5  0.5
[4,]  0.5  0.5  0.5  0.5  0.5
[5,]  0.5  0.5  0.5  0.5  0.5,2

     [,]  4.5  4.5  4.5  4.5  4.5
[2,]  4.5  4.5  4.5  4.5  4.5
[3,]  4.5  4.5  4.5  4.5  4.5
[4,]  4.5  4.5  4.5  4.5  4.5
[5,]  4.5  4.5  4.5  4.5  4.5

当时对我有用的解决方案是:

colnames(ArrayX[,1]) <- c(paste("coordX",1:5,sep = ""))
rownames(ArrayX[,1]) <- c(paste("coordY",sep = ""))

然而,现在,即使运行时没有返回错误,数组也保持不变......

这是会话信息

R version 4.0.4 (2021-02-15)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: windows 10 x64 (build 18363)

Matrix products: default

locale:
[1] LC_ColLATE=Spanish_Spain.1252  LC_CTYPE=Spanish_Spain.1252    LC_MONETARY=Spanish_Spain.1252 LC_NUMERIC=C                  
[5] LC_TIME=Spanish_Spain.1252    

attached base packages:
[1] stats     graphics  Grdevices utils     datasets  methods   base     

other attached packages:
 [1] RODBC_1.3-17    knitr_1.31      readxl_1.3.1    reshape2_1.4.4  forcats_0.5.1   Stringr_1.4.0   dplyr_1.0.5     purrr_0.3.4    
 [9] readr_1.4.0     tIDyr_1.1.3     tibble_3.1.0    ggplot2_3.3.3   tIDyverse_1.3.0

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.6       plyr_1.8.6       cellranger_1.1.0 pillar_1.5.1     compiler_4.0.4   dbplyr_2.1.0     tools_4.0.4     
 [8] Jsonlite_1.7.2   lubrIDate_1.7.10 lifecycle_1.0.0  gtable_0.3.0     pkgconfig_2.0.3  rlang_0.4.10     reprex_1.0.0    
[15] cli_2.3.1        rstudioAPI_0.13  DBI_1.1.1        xfun_0.22        haven_2.3.1      withr_2.4.1      xml2_1.3.2      
[22] httr_1.4.2       fs_1.5.0         generics_0.1.0   vctrs_0.3.6      hms_1.0.0        grID_4.0.4       tIDySELEct_1.1.0
[29] glue_1.4.2       R6_2.5.0         fansi_0.4.2      modelr_0.1.8     magrittr_2.0.1   BACkports_1.2.1  scales_1.1.1    
[36] ellipsis_0.3.1   rvest_1.0.0      assertthat_0.2.1 colorspace_2.0-0 utf8_1.2.1       Stringi_1.5.3    munsell_0.5.0   
[43] broom_0.7.5      Crayon_1.4.1 

我很困惑,谢谢

解决方法

不要在对 rownames(等)的调用中使用子集。

ArrayX <- array(1:50,dim=c(5,5,2))
ArrayX
#,1
#      [,1] [,2] [,3] [,4] [,5]
# [1,]    1    6   11   16   21
# [2,]    2    7   12   17   22
# [3,]    3    8   13   18   23
# [4,]    4    9   14   19   24
# [5,]    5   10   15   20   25
#,2
#      [,]   26   31   36   41   46
# [2,]   27   32   37   42   47
# [3,]   28   33   38   43   48
# [4,]   29   34   39   44   49
# [5,]   30   35   40   45   50

colnames(ArrayX) <- paste0("coordX",1:5)
rownames(ArrayX) <- paste0("coordY",1:5)
ArrayX
#,1
#         coordX1 coordX2 coordX3 coordX4 coordX5
# coordY1       1       6      11      16      21
# coordY2       2       7      12      17      22
# coordY3       3       8      13      18      23
# coordY4       4       9      14      19      24
# coordY5       5      10      15      20      25
#,2
#         coordX1 coordX2 coordX3 coordX4 coordX5
# coordY1      26      31      36      41      46
# coordY2      27      32      37      42      47
# coordY3      28      33      38      43      48
# coordY4      29      34      39      44      49
# coordY5      30      35      40      45      50
,

我们可以使用dimnames

dimnames(ArrayX) <- list(paste0("coordY",1:5),paste0("coordX",NULL)

-输出

ArrayX
#,1

#           coordX1    coordX2    coordX3    coordX4    coordX5
#coordY1  0.9450726  1.0642934  1.7164833 -1.1610352  2.6045781
#coordY2 -0.2153065 -0.8209356  1.3052241 -0.5853774 -1.5833918
#coordY3 -1.0333230  0.8766106 -0.5811332  0.9636683 -0.4263902
#coordY4  0.8281970 -1.4391891  0.3491635  0.1239269  0.7396240
#coordY5 -0.2048288  1.1179848 -0.8929726 -1.8674698 -2.0467980

#,2

#           coordX1    coordX2     coordX3    coordX4    coordX5
#coordY1  0.1121423 -0.3015090 -0.18311717 -1.6025064  0.1504099
#coordY2  1.2635544 -0.1770131  0.37860981 -0.6149095  0.1354814
#coordY3  0.3219548  0.5072806 -0.02555505 -0.4057642 -0.7276835
#coordY4 -0.1939912 -1.0914181 -0.92550545 -0.2285773 -0.6883232
#coordY5  2.1722877 -0.8981309 -2.04296086  1.1754687 -1.3772374

所有元素的属性应该相同。根据{{​​1}}

“dimnames”属性是可选的:如果存在,它是一个列表,每个维度都有一个组件,NULL 或该维度的“dim”属性的元素给定的长度的字符向量。

数据

?array

大佬总结

以上是大佬教程为你收集整理的更改数组中矩阵的名称失败 数据全部内容,希望文章能够帮你解决更改数组中矩阵的名称失败 数据所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:数据