如何在数据集中的多个列之间进行多个并保存到新数据集而不更改R中的原始数据

时间:2014-03-16 13:28:16

标签: r

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

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

  

raw_data [,1] - ; -raw_data [,I] * 5

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

  

NEW_DATA [,1] - ; -raw_data [,I] * 5

我收到一条错误消息,说找不到对象'new_data'。

是否有一种巧妙的方法,或者您是否必须首先将new_data对象创建为空数据集?

1 个答案:

答案 0 :(得分:1)

这里不需要循环。

# 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