【发布时间】:2020-05-07 10:18:52
【问题描述】:
我想帮助我在字符串变量 x1 上使用 ifelse 语句创建分类值(称为 x2)。或者当然不是'ifelse',但我认为它应该与'ifelse'一起使用?
输入的数据框:
患者编号
x1
来自 x1 的类是“字符”。 x1 中的字符有多种含义。
如果 x1 中的第一个字符 == 1,那么我希望新变量 x2 变为“是”,如果不是,则为“否”。我所做的是:使用 substr 创建一个新列(称为 x1.1),然后在该新列上使用 ifelse 语句,这样就可以了。
data$x1.1
data$x2
image of dataframe with added x1.1 and x2
但我想知道我是否可以做得更短。因此无需创建 x1.1 即可获得 x2。我有这样的想法,但它不起作用:
data$x2
对于患者 1,如果 x1 中的第一个字符 == 1,则新列 x2 中的结果 == 'yes',如果不是,则 'no'
对于患者 2,如果 x1 中的第一个字符 == 1,则新列 x2 中的结果 == 'yes',如果不是,则 'no'
对于患者 3,如果 x1 中的第一个字符 == 1,则新列 x2 中的结果 == 'yes',如果不是,则 'no'
此外,除了看第一个字符,我还希望能够:
-看第二个字符
-一起看第二个+第三个字符
我有一种方法可以做到这一点,但我实际上不是只有一个 x1,而是 x1、x2 x3....x29 x30。其中有 4 种含义,所以“按照我的方式”进行操作意味着我首先必须先创建 120 个新列,然后才能开始创建正确的相应分类列。它使我的数据框更大,并提供了很多我想阻止的代码行。
我希望这个社区可以帮助我。干杯:)
附: 这是我在 stackoverflow 上的第一篇文章,如果您有关于如何使我的文章更好的提示,请告诉我(我已经看过一些 youtube 视频,但它们没有帮助,我最大的问题是如何在好方法)
附:我使用了搜索功能,但找不到这个问题的答案。
【问题讨论】:
标签: r if-statement substr