R 如何计算不规则数据集的中值?

R 如何计算不规则数据集的中值?,r,sequence,median,percentile,R,Sequence,Median,Percentile,在R中,我在数据框中得到了一些数据,其中x值在df$a列中,y值在df$b列中。我想将它们插值为一系列生成的x值,即laoutput\ux\u值长度(output\ux\u值)。这里出了什么问题?我能做些什么来修复它?Atm它看起来如图所示,我想添加一条中间线。您尝试用于插值的近似函数有一个默认的“规则”参数,该参数不会插值向量中观察范围之外的值,该向量用NA截断结果中的值。您可以将其更改为“rule=2”,以便允许在预期范围之外进行插值: output_x_values <- seq(0

在R中,我在数据框中得到了一些数据,其中x值在df$a列中,y值在df$b列中。我想将它们插值为一系列生成的x值,即la
output\ux\u值长度(output\ux\u值)
。这里出了什么问题?我能做些什么来修复它?Atm它看起来如图所示,我想添加一条中间线。

您尝试用于插值的近似函数有一个默认的“规则”参数,该参数不会插值向量中观察范围之外的值,该向量用NA截断结果中的值。您可以将其更改为“rule=2”,以便允许在预期范围之外进行插值:

output_x_values <- seq(0.0, 100, 1.0)

# Toy data
set.seed(1)
df <- data.frame(a = seq(50, 150, 10), b = seq(0, 100, 10) + rnorm(11, 20, 10))

df

# a         b
# 1   50  13.73546
# 2   60  31.83643
# 3   70  31.64371
# 4   80  65.95281
# 5   90  63.29508
# 6  100  61.79532
# 7  110  84.87429
# 8  120  97.38325
# 9  130 105.75781
# 10 140 106.94612
# 11 150 135.11781

approx(x = df$a, y = df$b, xout = output_x_values, rule = 2)
您可以尝试:

# Toy data scaled with centiles but without interpolation
plot(percent_rank(df$a), percent_rank(df$b))

# Toy data scaled with centiles with interpolation
plot(approx(x = percent_rank(df$a), y = percent_rank(df$b), n = 100))
# Toy data scaled with centiles but without interpolation
plot(percent_rank(df$a), percent_rank(df$b))

# Toy data scaled with centiles with interpolation
plot(approx(x = percent_rank(df$a), y = percent_rank(df$b), n = 100))