r - R:按行替换值
问题描述
我有一个看起来像这样的数据框:
ID1 | ID2
I105 | I105
I122 | I122
**I107 | I108**
I118 | I118
**I139 | I140**
现在我想用 [3,1] 中的“I107”替换 [3,2] 中的“I108”
与第 5 行中的值相同。
实际列表要长一些,所以我必须找到一种自动执行此操作的方法。
有人有想法吗?
解决方案
我们可以使用索引将“ID2”的值替换为“ID1”中的相应值
i1 <- c(3, 5)
df1 <- type.convert(df1, as.is = TRUE) # // in case if there are factor columns
# or if it is based on difference
i1 <- with(df1, ID2 != ID1)
df1$ID2[i1] <- df1$ID1[i1]
-输出
df1
#. ID1 ID2
#1 I105 I105
#2 I122 I122
#3 I108 I108
#4 I118 I118
#5 I140 I140
如果我们想创建 ID1 的副本,只需执行分配即可。不需要任何条件
df1$ID2 <- df1$ID1
推荐阅读
- pygame - Pygame:pygame.display.flip() 大大减慢了游戏速度
- java - JAVA中flush()与reset()之间的区别
- sql - SQL 中何时何地使用单引号?
- python - Python代码AttributeError问题:'NoneType'对象没有属性'title'
- php - 解析错误:语法错误,第 10 行 E:\wamp64\www\project-trial\install.php 中的意外 'try' (T_TRY)
- javascript - 当我试图在 jquery 中将数据附加到其主体时,模态弹出窗口正在关闭
- javascript - 从烧瓶端点生成 PDF
- r - 为包构建二进制文件的不同 R 版本?
- java - 如何在不同的包中使用 Filter 和 Servlet?
- javascript - Intellisense 不会在课堂上显示成员