小编Mar*_*kus的帖子

如何让 switch() 处理 NA?

好的,我必须重新编码 df,因为我希望因子为整数:

library(dplyr)

load(url('http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/crash2.rda'))

df <- crash2 %>% select(source, sex)

df$source <- sapply(df$source, switch, "telephone" = 1, "telephone entered manually" = 2, "electronic CRF by email" = 3, "paper CRF enteredd in electronic CRF" = 4, "electronic CRF" = 5, NA)
Run Code Online (Sandbox Code Playgroud)

这按预期工作,但下一个变量(性别)中有 NA 并且事情变得复杂:

df$sex <- sapply(df$sex, switch, "male" = 1, "female" = 2, NA)
Run Code Online (Sandbox Code Playgroud)

返回一个 NA 切换到遗忘的列表。使用unlist()返回一个对于 df 来说太短的向量。

length(unlist(sapply(df$sex, switch, "male" = 1, "female" = 2, NA)))
Run Code Online (Sandbox Code Playgroud)

应该是20207,但是是20206

我想要的是通过将 NA 作为 NA …

r sapply

4
推荐指数
1
解决办法
160
查看次数

谁能提供在as.data.frame中使用col.names的有效示例?

谁能提供使用col.namesin 的有效示例as.data.frame

之前也曾提出过类似的问题:
R中“ as.data.frame”中的“ col.names”是做什么用的?
为什么as.data.frame忽略col.names = vector
并提供了解决方法,但是我还没有看到实际使用的示例col.names和原因的解释。它可以做些有用的事吗?

r dataframe

1
推荐指数
1
解决办法
95
查看次数

标签 统计

r ×2

dataframe ×1

sapply ×1