R中的占位符

R中的占位符,r,if-statement,R,If Statement,我有一个数据集,其中不同的值只能通过数字1的出现进行分类。所有值由5位数字组成。现在我需要创建一个新的变量来分组这些值。我现在的问题是,是否有一种类似于Excel的方法来设置占位符,以便识别那些以1开头的值 到目前为止,我所做的是: w$r编辑: 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

我有一个数据集,其中不同的值只能通过数字
1
的出现进行分类。所有值由5位数字组成。现在我需要创建一个新的变量来分组这些值。我现在的问题是,是否有一种类似于Excel的方法来设置占位符,以便识别那些以
1
开头的值

到目前为止,我所做的是:

w$r编辑

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
不太确定这是否是您想要的,但这里有一个尝试:

数据

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
由于您似乎还有前导零的数据,因此需要将其转换为字符:

df <- data.frame(w = c("00000", "00001", "11100", "10010", "11000", "10000", "10100", "00100", "10001"))
编辑

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
不太确定这是否是您想要的,但这里有一个尝试:

数据

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
由于您似乎还有前导零的数据,因此需要将其转换为字符:

df <- data.frame(w = c("00000", "00001", "11100", "10010", "11000", "10000", "10100", "00100", "10001"))

查看一下
stringr::str\u locate
我不确定是否完全理解您的意思,请告诉我以下内容是否适合您
grepl(“^1\\d{4}$”,input)+0
,其中
输入示例数据可能有用。我澄清了问题中的任务。并添加了示例。希望现在更清楚。谢谢你的帮助@艾米看到了我答案的编辑。这就是你的想法吗?看看
stringr::stru\u locate
不确定我是否完全理解你的意思,让我知道下面是否适合你
grepl(“^1\\d{4}$”,input)+0
,其中
输入示例数据可能有用。我澄清了问题中的任务。并添加了示例。希望现在更清楚。谢谢你的帮助@艾米看到了我答案的编辑。这就是你的想法吗?事实上,这是非常不同的数据更像是10010,11000,10000等,我需要创建5个变量。一个变量用于从1开始的所有变量。所有变量的另一个变量,其中1是第二位数字。非常感谢!完美无瑕!事实上,这是非常不同的数据更像10010,11000,10000等,我需要创建5个变量。一个变量用于从1开始的所有变量。所有变量的另一个变量,其中1是第二位数字。非常感谢!完美无瑕!