我有一个年龄向量(97岁). 我还有一个包含"Year"和97列值的数据框.

Year 1
2020 5.663
2021 9.344

向量(97):2050、2045、2047......

对于列1,我需要提取向量第一年的值2050,对于列2,需要提取向量的第二个值2045,依此类推.

dataframe

我不知道怎么做,我想也许循环是最好的?

推荐答案

我可能误解了;这是你的预期yields 吗?

set.seed(123)
df <- data.frame(Year = c(2020, 2021, 2022),
                 Col1 = rnorm(3),
                 Col2 = rnorm(3),
                 Col3 = rnorm(3))
df
#>   Year       Col1       Col2       Col3
#> 1 2020 -0.5604756 0.07050839  0.4609162
#> 2 2021 -0.2301775 0.12928774 -1.2650612
#> 3 2022  1.5587083 1.71506499 -0.6868529

years_vec <- c(2022, 2021)

output <- list()
for (i in seq_along(years_vec)) {
  output[[i]] <- df[match(years_vec[i], df$Year), i + 1]
}
unlist(output)
#> [1] 1.5587083 0.1292877

创建于2023-06-28,共reprex v2.0.2

R相关问答推荐

使用rlang s arg_match判断函数输入列表

提取R中值和列名的所有可能组合

从有序数据中随机抽样

如何使用R Shiny中的条件面板仅隐藏和显示用户输入,同时仍允许运行基础计算?

找出疾病消失的受试者

使用tidyverse方法绑定行并从一组管道列表执行左连接

如何根据R中其他列的值有条件地从列中提取数据?

使用Scale_*_MANUAL时在图例中保留未使用的系数级别

有没有一种方法可以同时对rhandsontable进行排序和从rhandsontable中删除?

如何使用同比折线图中的个别日

使用未知字符数(不受限制的最大长度)的Lookback有什么好的替代方案?

当每个变量值只能 Select 一次时,如何从数据框中 Select 两个变量的组合?

如何对r中包含特定(未知)文本的行求和?

整理ggmosaic图的标签

根据排名的顶点属性调整曲线图布局(&Q)

对一个数据帧中另一个数据帧中的值进行计数

随机生成样本,同时在R内的随机样本中至少包含一次所有值

对数据帧中的列进行子集设置以通过迭代创建新的数据帧

创建由三个单独的shapefile组成的单个 map

R data.设置函数&;连接中的列值而不使用for循环的表方法?