【发布时间】:2016-12-09 14:19:40
【问题描述】:
我想根据行中的值在我的 data.frame 中创建一个新列。
如果“类型”不等于“a”,我的“new.area”列应包含“a”类型的“区域”中的数据。这是针对多个“距离”。
Example:
# create data frame
distance<-rep(seq(1,5, by = 1),2)
area<-c(11:20)
type<-rep(c("a","b"),each = 5)
# check data.frame
(my.df<-data.frame(distance, area, type))
distance area type
1 1 11 a
2 2 12 a
3 3 13 a
4 4 14 a
5 5 15 a
6 1 16 b
7 2 17 b
8 3 18 b
9 4 19 b
10 5 20 b
我想创建一个新列 (my.df$new.area),其中对于行中的每个“距离”,都会有“a”类型的“面积”值。
distance area type new.area
1 1 11 a 11
2 2 12 a 12
3 3 13 a 13
4 4 14 a 14
5 5 15 a 15
6 1 16 b 11
7 2 17 b 12
8 3 18 b 13
9 4 19 b 14
10 5 20 b 15
我知道如何为单行手动制作:
my.df$new.area[my.df$distance == 1 ] <- 11
但是如何自动制作呢?
【问题讨论】:
标签: r