Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 复制行中与列名匹配的单元格_R - Fatal编程技术网

R 复制行中与列名匹配的单元格

R 复制行中与列名匹配的单元格,r,R,我搜索了一段时间试图解决这个问题,但不幸的是找不到答案 在我的dataframe中,最后一列包含与列名匹配的字符串。我想创建另一列,每行返回(复制)与该列名匹配的值 例如,假设我的数据是: col1 <- c(1, 4, 6, 0, 5) col2 <- c(4, 6, 7, 8, 6) col3 <- c(0, 4, 2, 2, 1) col4 <- c("col1", "col1", "col2", "col3", "col1") df <- data.fram

我搜索了一段时间试图解决这个问题,但不幸的是找不到答案

在我的dataframe中,最后一列包含与列名匹配的字符串。我想创建另一列,每行返回(复制)与该列名匹配的值

例如,假设我的数据是:

col1 <- c(1, 4, 6, 0, 5)
col2 <- c(4, 6, 7, 8, 6)
col3 <- c(0, 4, 2, 2, 1)
col4 <- c("col1", "col1", "col2", "col3", "col1")
df <- data.frame(col1, col2, col3, col4)
基本上,它查看col4并从与该列名匹配的同一行返回值

这显然是我的数据的一个非常简化的版本,这就是为什么我想自动化它。
我非常感谢任何帮助:)

我们可以使用
row/col
索引从数据集中提取元素来创建“col5”

df$col5 <- df[-4][cbind(1:nrow(df), match(as.character(df$col4), colnames(df)))]
df$col5
#[1] 1 4 7 2 5

df$col5我们可以使用
row/col
索引从数据集中提取元素来创建“col5”

df$col5 <- df[-4][cbind(1:nrow(df), match(as.character(df$col4), colnames(df)))]
df$col5
#[1] 1 4 7 2 5

df$col5成功了!!!非常感谢你!我真的很感谢你的帮助!当我被允许的时候,我会在几分钟内接受答案:)它成功了!!!非常感谢你!我真的很感谢你的帮助!在允许的情况下,我会在几分钟内接受答案:)