r - R中的占位符
问题描述
我有一个数据集,其中不同的值只能按 digit 的出现进行分类1
。所有值均由 5 位数字组成。现在我需要创建一个对值进行分组的新变量。我现在的问题是,是否有类似于 Excel 的方法来设置占位符以识别以1
.
到目前为止我所做的是:
w$r <- ifelse(w$f == 1****, 1, 0)
在这里,我想过滤掉1
第一位数字的所有值。值得注意的是,某些值具有重复出现的1
,即 2 位数字。所有变量要么有 1,要么为零。数据的示例是 00000、00001、11100 等。目标是在不同位置为每个 1 创建一个变量。例如,第一个数字应该是一个变量,但如果出现 1 也是一个变量,因为在创建的变量 1 和变量 3 中需要考虑第一个和第三个数字。
解决方案
编辑:
不太确定这是否是你想要的,但这里有一个尝试:
资料:
由于您似乎也有前导零的数据,因此您需要将它们转换为字符:
df <- data.frame(w = c("00000", "00001", "11100", "10010", "11000", "10000", "10100", "00100", "10001"))
解决方案:
# variable for "1" in first position:
df$r1 <- ifelse(grepl("^1", df$w), 1, 0)
# variable for "1" in second position:
df$r2 <- ifelse(grepl("^\\d1", df$w), 1, 0)
# variable for "1" in third position:
df$r3 <- ifelse(grepl("^\\d{2}1", df$w), 1, 0)
# variable for "1" in fourth position:
df$r4 <- ifelse(grepl("^\\d{3}1", df$w), 1, 0)
# variable for "1" in fifth position:
df$r5 <- ifelse(grepl("^\\d{4}1", df$w), 1, 0)
结果:
df
w r r2 r3 r4
1 00000 0 0 0 0
2 00001 0 0 0 1
3 11100 1 1 1 0
4 10010 1 0 0 0
5 11000 1 1 0 0
6 10000 1 0 0 0
7 10100 1 0 1 0
8 00100 0 0 1 0
9 10001 1 0 0 1
推荐阅读
- c# - 如何动态调用具有泛型类型参数的方法
- angular - MEAN Stack - MongoDB - 在具有两种不同条件的文档中循环
- dart - Flutter 如何更新变量并在不同的有状态小部件中使用它们?
- javascript - 具有唯一选择的多选下拉列表 - React JS
- javascript - 使用授权标头从 Geoserver 获取 JSON 文件会导致 MIME 类型错误
- python - 使用Python滚动页面时如何在列表标签内获取多个div元素文本
- r - 使用“fread”,如何从 csv 中消除注释行?
- c# - typeof(int[][]).GetArrayRank() 的值为 1
- sql-server - SQL Server 一些 CPU 在 100% 其他低于 10% 查询超时
- php - 获取数据大于等于今天的日期