如果一列中的观测值与R中另一列的名称相等,则循环以分配值

普里卡萨里

我有一个向量和一个数据集,它们类似于:

id_vector <- as.character(c("n01", "n02", "n03"))
df_1 <- data.frame("id" = c("n01", "n02", "n02", "n03"), "n01" = NA, "n02" = NA,  "n03" = NA)
df_1$id <- as.character(df_1$id)

我希望数据集为:

df_2 <- data.frame("id" = c("n01", "n02", "n02", "n03"), "n01" = c(1, NA, NA, NA), "n02" = c(NA, 1, 1, NA),  "n03" = c(NA, NA, NA, 1))

解决方案应该很简单,例如:

for (i in id_vector){
  df_1[i][df_1$id == i] <- 1
}

但是,我不能使用两个[]。错误是:

Error in `[<-.data.frame`(`*tmp*`, df_1$id == i, value = 1) : 
duplicate subscripts for columns 

有什么帮助吗?

谢谢!

阿克伦

在这里,我们可以使用子集向量[[df_1[1]仍然是data.frame一列

for (i in id_vector){
   df_1[[i]][df_1$id == i] <- 1
  }

identical(df_1, df_2)
#[1] TRUE

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果另一列中的值在列表中,则更改一列中的值[R]

来自分类Dev

如果一列值相等而另一列不相等,则忽略 SQL 中的一行

来自分类Dev

如果另一列中的值较低(没有for循环),则汇总一列

来自分类Dev

如果一列中的值大于另一列中的值,则交换R中各列中的值

来自分类Dev

从一列中删除与另一列中的值相等的值

来自分类Dev

根据r中另一列的观测值创建新列

来自分类Dev

根据存储在另一列中的值将值分配给一列

来自分类Dev

根据R中另一列的值为列分配随机值

来自分类Dev

在另一列中查找一列的值

来自分类Dev

根据 R 中另一列中的值设置一列的值

来自分类Dev

根据条件将值分配给另一列中的一列

来自分类Dev

将一列中的值与另一列的名称匹配

来自分类Dev

根据R中另一列的值选择列

来自分类Dev

R-对于一列中的每个观测值,在另一列中找到最接近的一个

来自分类Dev

根据R中另一列的最小值获得一列的对应值

来自分类Dev

根据r中的ID从另一列中的一列中查找值

来自分类Dev

与另一列中的值之间

来自分类Dev

按多列分组并从R中的另一列分配值

来自分类Dev

熊猫-在行中的一列中查找重复的条目,在另一列中查找相等的值

来自分类Dev

R:将一列中的每个不同值组合到另一列中

来自分类Dev

汇总一列中的值并按R中的另一列分组

来自分类Dev

如果另一列中的值与所需名称的主键相对应,如何检索列中的名称

来自分类Dev

如果存在某些约束,则将一列的值分配给另一列

来自分类Dev

在另一列中搜索列值,然后将找到的行中下一列的值分配给另一列

来自分类Dev

基于R中另一列的值进行计数

来自分类Dev

通过R中的另一列条件检索值

来自分类Dev

如果同一行的另一列等于某值,如何计算一列中的值?

来自分类Dev

将一列条件中的值替换为另一列:R

来自分类Dev

在一列中查找值,如果匹配,则添加另一列中的值Google Script Google表格

Related 相关文章

  1. 1

    如果另一列中的值在列表中,则更改一列中的值[R]

  2. 2

    如果一列值相等而另一列不相等,则忽略 SQL 中的一行

  3. 3

    如果另一列中的值较低(没有for循环),则汇总一列

  4. 4

    如果一列中的值大于另一列中的值,则交换R中各列中的值

  5. 5

    从一列中删除与另一列中的值相等的值

  6. 6

    根据r中另一列的观测值创建新列

  7. 7

    根据存储在另一列中的值将值分配给一列

  8. 8

    根据R中另一列的值为列分配随机值

  9. 9

    在另一列中查找一列的值

  10. 10

    根据 R 中另一列中的值设置一列的值

  11. 11

    根据条件将值分配给另一列中的一列

  12. 12

    将一列中的值与另一列的名称匹配

  13. 13

    根据R中另一列的值选择列

  14. 14

    R-对于一列中的每个观测值,在另一列中找到最接近的一个

  15. 15

    根据R中另一列的最小值获得一列的对应值

  16. 16

    根据r中的ID从另一列中的一列中查找值

  17. 17

    与另一列中的值之间

  18. 18

    按多列分组并从R中的另一列分配值

  19. 19

    熊猫-在行中的一列中查找重复的条目,在另一列中查找相等的值

  20. 20

    R:将一列中的每个不同值组合到另一列中

  21. 21

    汇总一列中的值并按R中的另一列分组

  22. 22

    如果另一列中的值与所需名称的主键相对应,如何检索列中的名称

  23. 23

    如果存在某些约束,则将一列的值分配给另一列

  24. 24

    在另一列中搜索列值,然后将找到的行中下一列的值分配给另一列

  25. 25

    基于R中另一列的值进行计数

  26. 26

    通过R中的另一列条件检索值

  27. 27

    如果同一行的另一列等于某值,如何计算一列中的值?

  28. 28

    将一列条件中的值替换为另一列:R

  29. 29

    在一列中查找值,如果匹配,则添加另一列中的值Google Script Google表格

热门标签

归档