小编sca*_*218的帖子

R:我设置stringsAsFactors = F,但仍然得到"无效因子级别,NA生成"错误

有人可以帮我解决这个问题吗?任何建议都非常感谢!

我开始时:

A <- data.frame(stringsAsFactors = F)
A <- edit(A)
Run Code Online (Sandbox Code Playgroud)

然后我为A填写了一些值,所以它看起来像这样:

A
  var1  var2
1    a x,y,z
2    b   p,q
3    c   g,h
Run Code Online (Sandbox Code Playgroud)

我的目标是以这种形式获得数据框:

  var1  var2
1    a     x
2    a     y
3    a     z
4    b     p
5    b     q  
6    c     g
7    c     h
Run Code Online (Sandbox Code Playgroud)

这就是我尝试实现它的方式:

A2 <- data.frame(stringsAsFactors = F)
for(i in 1:nrow(A)){
  if(grepl(",", A[i,2])){
    split <- unlist(strsplit(A[i,2], ","))

    for(j in 1:length(split)){
        newrow <- c(A[i,1],split[j])
        A2 <- rbind(A2, newrow)
    }
  }else{
    A2 <- rbind(A2, A[i,])
  }
} …
Run Code Online (Sandbox Code Playgroud)

r

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

标签 统计

r ×1