【发布时间】:2020-11-25 14:34:59
【问题描述】:
我有一个类似于下面的数据框。
set.seed(12)
size <- sample(100:1000, 7)
var <- c("V3", "V4", "V5", "V6", "V7", "V8", "V9")
dist <- matrix(runif(100), nrow = 7, ncol = 7)
diag(dist) <- 0
df <- as.data.frame(cbind(var, size, dist))
这导致数据集如下所示:
var size V3 V4 V5 V6 V7 V8 V9
1 V3 549 0 0.264918377622962 0.787836347473785 0.439429325051606 0.941087544662878 0.97763589094393 0.774718186818063
2 V4 445 0.0228777434676886 0 0.0978530396241695 0.669819295872003 0.693911424372345 0.197649595327675 0.394586439244449
3 V5 435 0.00832482660189271 0.457607151241973 0 0.240883231163025 0.843702238984406 0.844225987326354 0.361513090785593
4 V6 346 0.392697197152302 0.540707547217607 0.217823043232784 0 0.384644460165873 0.0950279189273715 0.421090044546872
5 V7 958 0.813880559289828 0.665679829893634 0.267943592974916 0.882756386883557 0 0.381151003297418 0.322011524345726
6 V8 273 0.37624845537357 0.112698937533423 0.504767951788381 0.814063254510984 0.58848182996735 0 0.552160830702633
我想删除在变量var 中找不到列名的列(在本例中是名称为V9 的列)。我还想保留前两列,var 和 size。这导致数据集如下所示:
var size V3 V4 V5 V6 V7 V8
1 V3 549 0 0.264918377622962 0.787836347473785 0.439429325051606 0.941087544662878 0.97763589094393
2 V4 445 0.0228777434676886 0 0.0978530396241695 0.669819295872003 0.693911424372345 0.197649595327675
3 V5 435 0.00832482660189271 0.457607151241973 0 0.240883231163025 0.843702238984406 0.844225987326354
4 V6 346 0.392697197152302 0.540707547217607 0.217823043232784 0 0.384644460165873 0.0950279189273715
5 V7 958 0.813880559289828 0.665679829893634 0.267943592974916 0.882756386883557 0 0.381151003297418
6 V8 273 0.37624845537357 0.112698937533423 0.504767951788381 0.814063254510984 0.58848182996735 0
【问题讨论】:
-
前两列其实
var中也没有提到。 -
感谢您了解这一点,当然,我想保留前两列! :)
-
当我运行代码时,我没有得到您发布的第一个数据帧。对我来说,它返回一个 7x9 数据框。你能仔细检查一下吗?
标签: r tidyverse data-manipulation