我有一个如下所示的数据集:
import boto
import boto.s3
import boto.s3.connection
conn = boto.s3.connect_to_region(
'us-west-2',
aws_access_key_id='MY_KEY',
aws_secret_access_key='MY_ACCESS_KEY'
)
conn.create_bucket('bucket_in_west')
我想为每个特征和var1添加一个规范化为100个数据的第四列,如下所示:
(42.26 / 42.26)×100 = 100
(41.81 / 42.26)×100 = 98.93
(41.21 / 42.26)×100 = 97.51
对于特征2和var1 = 1,Value大于var1 = 0值,因此在这种情况下,第5行将按如下方式计算: (47.82 / 51.44)×100 = 92.94
答案 0 :(得分:3)
如果您的数据是data.table:
data[, col4:= (Value/max(Value))*100, by= Trait]
答案 1 :(得分:2)
或使用标准R:
aov2<-aov(Variable~O+H+O:H, data=df)
答案 2 :(得分:1)
使用 dplyr
library(dplyr)
df %>%
group_by(Trait) %>%
mutate(Result = Value/max(Value) * 100)
# Output
# Source: local data frame [9 x 4]
# Groups: Trait [3]
#
# Var Trait Value Result
# (int) (fctr) (dbl) (dbl)
# 1 0 Trait1 42.26 100.00000
# 2 1 Trait1 41.81 98.93516
# 3 2 Trait1 41.21 97.51538
# 4 0 Trait2 47.82 92.96267
# 5 1 Trait2 51.44 100.00000
# 6 2 Trait2 51.42 99.96112
# 7 0 Trait3 10.27 96.61336
# 8 1 Trait3 10.63 100.00000
# 9 2 Trait3 10.14 95.39040