对R中特定列的操作

时间:2016-08-30 08:56:58

标签: r

更多的是好奇而不是问题。是否可以仅在数据帧的特定列上进行某些操作,而是维护数据帧原始结构?

例如,假设我只想在虹膜数据集的前4列中添加1,因为第5列是一个因子,向它添加值是无意义的。

1。忽略因子列

只需在不关心警告信息的情况下执行操作

ex <- iris[,] + 1
head(ex, 2)
#gives
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          6.1         4.5          2.4         1.2      NA
2          5.9         4.0          2.4         1.2      NA

因此,由于无意义操作,第5个原始列松散了原始值。

2。排除最后一栏

从操作

中排除列的索引
ex <- iris[,-c(5)] + 1
head(ex, 2)

  Sepal.Length Sepal.Width Petal.Length Petal.Width
1          6.1         4.5          2.4         1.2
2          5.9         4.0          2.4         1.2

但是这样做我必须执行cbind操作来恢复原始列(对于这个数据帧并不是很重要)

我想知道这项操作是否有更智能的解决方案。想象一下,数据帧非常大,cbind一个松散了列的原始位置,这可能非常棘手。

感谢所有

0 个答案:

没有答案