在数据框中创建新列

时间:2014-11-03 22:45:10

标签: r

说我有数据框

group<-c("NA","HIGH","LOW","NA","HIGH")
a<-c(14,16,21,34,45)
dataset<-data.frame(group,a)

我想创建一个名为&#34; a_high&#34;的新列。如果&#34; group&#34;很高我想要&#34; a&#34;的相应值。退回&#34; a_high&#34;。如果&#34; group&#34;是&#34;低&#34;或&#34; NA&#34;我想&#34; NA&#34;退回&#34; a_high&#34;。我希望这是有道理的。

1 个答案:

答案 0 :(得分:0)

你走了:

dataset$a_high <- ifelse(dataset$group == 'HIGH', dataset$a, NA)

输出:

> dataset
  group  a a_high
1    NA 14     NA
2  HIGH 16     16
3   LOW 21     NA
4    NA 34     NA
5  HIGH 45     45