gpt4 book ai didi

从矩阵中删除一列

转载 作者:行者123 更新时间:2023-12-03 17:35:23 26 4
gpt4 key购买 nike

我对 R 有点陌生,想通过该列的名称从矩阵中删除一列。我知道X[,2]给出第二列和 X[,-2]给出除第二列之外的每一列。我真正想知道的是是否有使用列名的类似命令。我有一个矩阵,想删除“销售”列,但是 X[,-"sales"]似乎对此不起作用。我该怎么做?我只会使用列号,我希望以后能够将它用于其他具有不同维度的矩阵。任何帮助将非常感激。

最佳答案

我不确定为什么所有的答案都是针对数据框而不是矩阵的解决方案。
根据@Sotos 和@Moody_Mudskipper 的评论,这是一个带有内置 state.x77 的示例数据矩阵。

dat <- head(state.x77)
dat
#> Population Income Illiteracy Life Exp Murder HS Grad Frost Area
#> Alabama 3615 3624 2.1 69.05 15.1 41.3 20 50708
#> Alaska 365 6315 1.5 69.31 11.3 66.7 152 566432
#> Arizona 2212 4530 1.8 70.55 7.8 58.1 15 113417
#> Arkansas 2110 3378 1.9 70.66 10.1 39.9 65 51945
#> California 21198 5114 1.1 71.71 10.3 62.6 20 156361
#> Colorado 2541 4884 0.7 72.06 6.8 63.9 166 103766

# for removing one column
dat[, colnames(dat) != "Area"]
#> Population Income Illiteracy Life Exp Murder HS Grad Frost
#> Alabama 3615 3624 2.1 69.05 15.1 41.3 20
#> Alaska 365 6315 1.5 69.31 11.3 66.7 152
#> Arizona 2212 4530 1.8 70.55 7.8 58.1 15
#> Arkansas 2110 3378 1.9 70.66 10.1 39.9 65
#> California 21198 5114 1.1 71.71 10.3 62.6 20
#> Colorado 2541 4884 0.7 72.06 6.8 63.9 166

# for removing more than one column
dat[, !colnames(dat) %in% c("Area", "Life Exp")]
#> Population Income Illiteracy Murder HS Grad Frost
#> Alabama 3615 3624 2.1 15.1 41.3 20
#> Alaska 365 6315 1.5 11.3 66.7 152
#> Arizona 2212 4530 1.8 7.8 58.1 15
#> Arkansas 2110 3378 1.9 10.1 39.9 65
#> California 21198 5114 1.1 10.3 62.6 20
#> Colorado 2541 4884 0.7 6.8 63.9 166

#be sure to use `colnames` and not `names`
names(state.x77)
#> NULL
创建于 2020-06-27 由 reprex package (v0.3.0)

关于从矩阵中删除一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48747363/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com