[英]R - Replacing values in a dataframe
我有一个data.frame
其中包含WIND_CHILL
, DRY_BULB_TEMP
和WIND_SPEED
。 当WIND_SPEED <= 5
我想设置WIND_CHILL = DRY_ BULB TEMP
,因为在这些速度下, WIND_CHILL
的公式不能有效地估算温度。 WIND_CHILL
是第9列, DRY_BULB_TEMP
第4列和WIND_SPEED
第7列的data.frame
。 该data.frame
称为venue
。 我告诉大家这是为了让您了解我的尝试,这是:
n <- nrow(venue)
for(i in 1:n) {
if(venue[n,7] <= 5) {
venue[n,9] <- venue[n,4]
}
}
有任何想法吗??
由于您没有提供data.frame
,因此我必须从头开始:P。
venue[venue$WIND_SPEED<=5,"WIND_CHILL"]=venue[venue$WIND_SPEED<=5,"DRY_BULB_TEMP"]
要么:
venue[venue$WIND_SPEED<=5,9]=venue[venue$WIND_SPEED<=5,4]
因此,我无权访问您的数据集,因此我不得不举一个简单的示例。
x1<-rnorm(100,mean=0,sd=10)
x2<-rep(0,100)
x3<-rep(1,100)
df<-data.frame(x1,x2,x3)
summary(df$x2)
#overwrite x2 for values of x1 less than 3
df$x2[ which(df$x1 < 3) ] <- 1
summary(df$x2)
summary(df$x3)
#overwrite x3 for values of x1 >= 3
df$x3[ which(df$x1 >= 3) ] <- 0
summary(df$x3)
您会注意到,我们有一个包含3个变量的数据框。 x1是随机变量,x2和x3是x1的标称值(如果x1 <3,x2应该为1,如果x1> = 3,x3应该为0)。 运行此命令时,您会注意到使用which语句有助于有选择地覆盖值,因为它返回需要覆盖的索引。
> x1<-rnorm(100,mean=0,sd=10)
> x2<-rep(0,100)
> x3<-rep(1,100)
>
> df<-data.frame(x1,x2,x3)
>
> summary(df$x2)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0 0 0 0 0 0
>
> #overwrite x2 for values of x1 less than 3
> df$x2[ which(df$x1 < 3) ] <- 1
>
> summary(df$x2)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.00 0.00 1.00 0.58 1.00 1.00
>
> summary(df$x3)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1 1 1 1 1 1
> #overwrite x3 for values of x1 >= 3
> df$x3[ which(df$x1 >= 3) ] <- 1
>
> summary(df$x3)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1 1 1 1 1 1
> x1<-rnorm(100,mean=0,sd=10)
> x2<-rep(0,100)
> x3<-rep(1,100)
>
> df<-data.frame(x1,x2,x3)
>
> summary(df$x2)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0 0 0 0 0 0
>
> #overwrite x2 for values of x1 less than 3
> df$x2[ which(df$x1 < 3) ] <- 1
>
> summary(df$x2)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.00 0.00 1.00 0.63 1.00 1.00
>
> summary(df$x3)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1 1 1 1 1 1
> #overwrite x3 for values of x1 >= 3
> df$x3[ which(df$x1 >= 3) ] <- 0
>
> summary(df$x3)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.00 0.00 1.00 0.63 1.00 1.00
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.