根据特定列更改数据框中的值

问题描述 投票:0回答:2

我目前有一个,由confidence intervals的上下限和点估计组成。我想创建一个新的数据框,以便可以绘制点估计不等于零的变量。对于每个n的值,如果点估计值为,是否可以将上下限的值更改为0?例如,在n = 205y_pe = 0时提供的数据帧中,因此我想将相应的y_loy_up更改为NA

X1_lo <- c(0 ,0 ,0 ,0 ,0 ,0 ,0 ,0, 0 ,0)
X1_up <-c(0 ,0 ,0 ,0 ,0 ,0 ,0 ,0, 0 ,0)
X1_pe <-c(0 ,0 ,0 ,0 ,0 ,0 ,0 ,0, 0 ,0)
x_lo <- c(0 ,0 ,0 ,0 ,0 ,0 ,0 ,0, 0 ,0)
x_up <- c(0 ,0 ,0 ,0 ,0 ,0 ,0 ,0, 0 ,0)
x_pe <- c(0 ,0 ,0 ,0 ,0 ,0 ,0 ,0, 0 ,0)
y_lo <- c(-24.71177, -25.13779, -16.19142, -15.63819 ,-15.42051 ,-16.11342, -17.10603 ,-18.00848 ,-19.59877, -12.91438)
y_up <- c(14.074116, 14.051209, 13.417954, 12.187319 ,13.602022, 12.943939,  1.317839 ,11.891103, 15.165398,  1.365459)
y_pe <- c(-2.984101, -2.867680, -2.695838 ,-2.583140, -2.416878 , 0.000000,  0.000000 , 0.000000 , 0.000000,  0.000000)


test.df <- cbind(n, X1_lo, X1_up, X1_pe, x_lo, x_up, x_pe, y_lo, y_up, y_pe) 

提前感谢。

我目前有一个由置信区间和点估计值的上下限组成的数据框。我想创建一个新的数据框,以便可以绘制点估计为...的变量。]​​>

r dataframe dplyr na tidy
2个回答
2
投票

[在i中指定逻辑向量,并在j中指定列名称,然后将'y_pe'为0的列分配给NA

test.df[test.df[, "y_pe"] == 0, c("y_lo", "y_up")] <- NA

1
投票

我更喜欢akrun的答案,但这是使用tidyr的mutate的替代方法:

© www.soinside.com 2019 - 2024. All rights reserved.