更多的是好奇而不是问题。是否可以仅在数据帧的特定列上进行某些操作,而是维护数据帧原始结构?
例如,假设我只想在虹膜数据集的前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
一个松散了列的原始位置,这可能非常棘手。
感谢所有