You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中根据条件将数据集全部替换为指定值

解决方案

你可以通过判断name列的取值,直接生成全为1或0的数据集,以下是几种简洁的实现方式:

基础R方法

直接利用逻辑向量的特性(TRUE对应1,FALSE对应0),扩展到整个数据集的维度:

# 生成与原数据集维度匹配的结果,保留原列名
result <- data.frame(matrix(ifelse(data$name == "A", 1, 0), 
                            nrow = nrow(data), 
                            ncol = ncol(data)))
colnames(result) <- colnames(data)

或者用更简洁的广播写法:

result <- data.frame(lapply(data, function(x) ifelse(data$name == "A", 1, 0)))

dplyr 方法(适用于tidyverse用户)

如果你习惯使用tidyverse工具链,可以这样实现:

library(dplyr)

result <- data %>%
  mutate(across(everything(), ~ifelse(name == "A", 1, 0)))

示例验证

用你提供的测试数据运行后,result的输出如下:

name place
1    1     1
2    0     0
3    0     0
4    0     0
5    0     0
6    0     0
7    1     1
8    0     0

内容的提问来源于stack exchange,提问作者user142632

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 01:01:24