r - R:使用行/列替换另一个数据框的值
问题描述
我有一个dataframe
我想用另一个dataframe
我拥有row
的column
、、和value
信息来替换它的一些值。
dat <- data.frame(Age = c(19,22,32,24),Names = c("Bobby","Mary","Bill","Chuck"), Sport = c("Golf","Tennis","Football","Soccer"))
Age Names Sport
19 Bobby Golf
22 Mary Tennis
32 Bill Football
24 Chuck Soccer
valuesreplace <- data.frame(row = c(1,3), column = c(3,1), value = c("Basketball","18"))
row column value
1 3 Basketball
3 1 18
结果应如下所示:
Age Names Sport
19 Bobby Basketball
22 Mary Tennis
18 Bill Football
24 Chuck Soccer
解决方案
我们需要首先将其转换factor
为character
(stringsAsFactors = FALSE
在构建两个 data.frames 时使用),然后使用matrix
行/列索引的传递 a 选择“dat”的值并从“valuesreplace”列“value”分配值
dat[as.matrix(valuesreplace[1:2])] <- valuesreplace$value
dat
# Age Names Sport
#1 19 Bobby Basketball
#2 22 Mary Tennis
#3 18 Bill Football
#4 24 Chuck Soccer
推荐阅读
- python - Python - 从特定位置的列表中减去一个数字
- sql-server - 如何创建调用存储过程的本机查询
- reactjs - 如何测试事件的函数调用?
- php - 如何使用 PHP 从 Google 开发工具访问“表单数据”
- flutter - Flutter https异常CERTIFICATE_VERIFY_FAILED:证书扩展无效或不一致(handshake.cc:359))
- vue.js - 如何以编程方式绑定 Nuxt/Vue 中的视频播放器 URL?
- database - 当数据库表进行垂直分区时,分区表和分区前的表是什么关系?
- c++ - 如何在 _popen 中运行多个命令
- python - 如何让我的服务器告诉客户端关闭连接?
- node.js - 如何用不同的包完全覆盖嵌套的 npm 子依赖项(不仅仅是不同的包版本号)?