如何在不改变原始数据的情况下,在数据集中跨多个列并保存到新数据集



我想将列中的所有值相乘,例如乘以5,然后将结果保存到一个新的数据集中,而不改变正在读取的数据。

使用循环时,我使用以下R代码:

raw_data[我]& lt; -raw_data[我]* 5

我想要的是保持原始数据原样,raw_data,并将相乘的数据保存到例如new_data:

new_data[我]& lt; -raw_data[我]* 5

我得到一个错误,说对象'new_data'没有找到。

是否有一个简洁的方法来做到这一点,或者你必须首先创建new_data对象作为一个空数据集?

这里不需要循环。

# a toy data frame
raw_data <- data.frame(x = 1:2, y = 3:4, z = 5:6)
# same applies if you have your data in a matrix
# raw_data <- matrix(1:6, ncol = 3)
raw_data
#   x y z
# 1 1 3 5
# 2 2 4 6
new_data <- raw_data * 5
new_data
#    x  y  z
# 1  5 15 25
# 2 10 20 30

最新更新