如何从R中的另一个数据帧中提取值

时间:2019-12-07 21:30:58

标签: r

我正在查看两个不同的数据帧。一个是原始数据集(df名称:conjoint_study),我需要将观察结果(结果)组织到第二个数据框中。在第二个d.f中,我需要将从第一个d.f中提取的值列名(conjoint_study)。但是,这是棘手的部分

在以“ conjoint”开头的列中,我需要紧接在“ conjoint”之后的括号中的值。 例如,conjoint(1)->我需要1 conjoint(2)我需要2,依此类推。请帮忙!

1 个答案:

答案 0 :(得分:0)

一种选择是使用sub中的base R来捕获(\\d+和单词'conjoint'之后的数字(()(如果单词是conjoint(1)conjoint(2)等)

second_df$col <- as.integer(sub(".*\\bconjoint\\((\\d+).*", 
            "\\1", names(conjoint_study)))

数据

set.seed(24)
conjoint_study <- data.frame(`conjoint(1)` = 1:5, `conjoint(2)` = 6:10,
      check.names = FALSE)