我想对数据框的特定元素执行一些修改,而代码不会过于冗余和混乱。
例如,让我们使用以下数据框:
X <- data.frame(replicate(10, sample(-10:10, 10, rep=TRUE))) # 10x10 data frame
并执行以下修改:
X[X<3] <- X[X<3] * 10
X[X>5 & X<7] <- round(X[X>5 & X<7], 2)
X[X<0 & X>-10 & X!=-2] <- X[X<0 & X>-10 & X!=-2] * -1
X[(X>3 & X<10) | (X>-9 & X< -3)] <- X[(X>3 & X<10) | (X>-9 & X< -3)] - 1
diag(X) <- 0
X[upper.tri(X)] <- X[upper.tri(X)] + 0.5
and so on...
有没有办法使用更高效/优雅的代码执行所有这些修改(或至少一些)?也许用管子?