首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >该因素的级别之一是空字符串;如何将其替换为不缺少的值?

该因素的级别之一是空字符串;如何将其替换为不缺少的值?
EN

Stack Overflow用户
提问于 2016-09-07 13:05:17
回答 3查看 6.5K关注 0票数 7

数据帧AEbySOC包含两列-因子SOC,具有字符级别和整数计数:

代码语言:javascript
复制
> str(AEbySOC)
'data.frame':   19 obs. of  2 variables:
 $ SOC  : Factor w/ 19 levels "","Blood and lymphatic system disorders",..: 1 2 3 4 5 6 7 8 9 10 ...
 $ Count: int  25 50 7 3 1 49 49 2 1 9 ...

SOC的一个级别是空字符串:

代码语言:javascript
复制
> l = levels(AEbySOC$SOC)
> l[1]
[1] ""

我想用一个非空的字符串来替换这个级别的值,比如说,"Not“。这样做是行不通的:

代码语言:javascript
复制
> library(plyr)
> revalue(AEbySOC$SOC, c(""="Not specified"))
Error: attempt to use zero-length variable name

这一点也不是:

代码语言:javascript
复制
> AEbySOC$SOC[AEbySOC$SOC==""] = "Not specified"
Warning message:
In `[<-.factor`(`*tmp*`, AEbySOC$SOC == "", value = c(NA, 2L, 3L,  :
  invalid factor level, NA generated

实现这一点的正确方法是什么?如有任何意见或意见,我深表感谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-09-07 13:08:25

代码语言:javascript
复制
levels(AEbySOC$SOC)[1] <- "Not specified"

创建了一个玩具示例:

代码语言:javascript
复制
df<- data.frame(a= c("", "a", "b"))

df
#  a
#1  
#2 a
#3 b

levels(df$a)
#[1] ""  "a" "b"

levels(df$a)[1] <- "Not specified"

levels(df$a)
#[1] "Not specified" "a"             "b" 

编辑

根据OP的评论,如果我们需要根据值找到它,那么在这种情况下,我们可以尝试

代码语言:javascript
复制
levels(AEbySOC$SOC)[levels(AEbySOC$SOC) == ""] <- "Not specified"
票数 6
EN

Stack Overflow用户

发布于 2016-09-07 13:12:47

像这样的东西应该能起作用:

代码语言:javascript
复制
test <- data.frame(a=c("a", "b", "", "  "))
str(test)

which.one <- which( levels(test$a) == "" )
levels(test$a)[which.one] <- "NA"
票数 2
EN

Stack Overflow用户

发布于 2019-12-12 02:08:21

聚会有点晚了,但这里有一个有趣的解决方案:

代码语言:javascript
复制
library(tidyverse)

df <- data.frame(SOC = c("", "a", "b"))

df <- df %>% 
   mutate(SOC = fct_recode(SOC, "Not specified" = ""))

其结果是:

代码语言:javascript
复制
            SOC
1 Not specified
2             a
3             b
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39370738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档