【问题标题】:compose several values ​into one value in R在R中将多个值组合成一个值
【发布时间】:2021-11-26 21:20:58
【问题描述】:

我有一个泰坦尼克号上幸存者的数据集。然后我试图检查幸存者和船上兄弟姐妹的数量之间是否存在相关性。但是超过 2 的兄弟姐妹的数据数量太少,所以我将在我的测试中将两个变量 0 用于没有兄弟姐妹,将 1 用于至少 1 个兄弟姐妹。但是我如何在 R 中做到这一点?

【问题讨论】:

  • 像我现在添加的情节还是什么意思?
  • 没什么。谢谢,祝你好运
  • 图片不是发布数据(或代码)的好方法。请参阅this Metarelevant xkcd。您可以以dput 格式发布示例数据吗?请使用您尝试过的代码和dput(titanic) 的输出来编辑问题。或者,如果 dput(head(titanic, 20)) 的输出太大。
  • 如果变量名为x,请尝试as.integer(x > 0),或者稍快一点,+(x > 0)
  • 很好用。谢谢你。但是当我运行它时,它只是改变它,但是当我再次对我的数据进行数据帧处理时,它只是旧数据。如何将此编辑合并到数据中?

标签: r regression


【解决方案1】:

在没有任何dputdata 的情况下,让我用一些玩具数据来说明解决方案:

titanic <- data.frame(
  randomVar = c(LETTERS[1:10]),
  siblings = c(1,0,2,3,5,1,0,2,0,1)
)

如果您想用二进制值替换siblings 列中的计数数据,即01,您可以使用ifelse 语句执行此操作:

titanic$sibl_binary <- ifelse(titanic$siblings == 0, # condition to meet
                          0,                         # what to do if the condition is met
                          1)                         # what to do if the condition is not met

结果:

titanic
   randomVar siblings sibl_binary
1          A        1           1
2          B        0           0
3          C        2           1
4          D        3           1
5          E        5           1
6          F        1           1
7          G        0           0
8          H        2           1
9          I        0           0
10         J        1           1

【讨论】:

    猜你喜欢
    • 2017-05-10
    • 2018-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多