相关疑难解决方法(0)

R - 如何在IF语句中测试字符(0)

我想这非常简单,但我似乎无法找到答案.

我正在写一个IF语句,但测试是对象是否返回一个character(0)值.我不知道如何character(0)在声明中处理.

假设Test <- character(0)或值:

if (identical(Pols4,character(0))) {
  print('Empty')
} else {
  print('Not Empty')
}
Run Code Online (Sandbox Code Playgroud)

它似乎仍然没有工作.....

if-statement r

54
推荐指数
4
解决办法
4万
查看次数

R - 数据帧中2组之间的差异

我有2个因子列,我想创建第三列,它告诉我第二列是什么,第一列没有.它与这篇文章非常相似,但是我从df使用setdiff()函数到使用函数时遇到了麻烦.
例如:

library(dplyr)
y1 <- c("a.b.","a.","b.c.d.")
y2 <- c("a.b.c.","a.b.","b.c.d.")
df <- data.frame(y1,y2)
Run Code Online (Sandbox Code Playgroud)

y1a.b.和列y2a.b.c..我想要一个三分之一的列返回c.或只是c.

> df
      y1     y2  col3
1   a.b.  a.b.c.  c.
2     a.    a.b.  b.
3 b.c.d.  b.c.d.  
Run Code Online (Sandbox Code Playgroud)

我认为这是应该的组合strsplitsetdiff,但我不能得到它的工作.

我试图将其转换factorcharacter,然后我尝试应用于strsplit()结果,但输出对我来说似乎很奇怪.它似乎在列表中创建了一个列表,这使得很难传递给它setdiff()

#convert factor to character
df <- df %>% mutate_if(is.factor, as.character)
lapply(df$y1,function(x)(strsplit(x,split = "[.]")))

> lapply(df$y1,function(x)(strsplit(x,split = "[.]")))
[[1]]
[[1]][[1]]
[1] …
Run Code Online (Sandbox Code Playgroud)

r strsplit set-difference

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

标签 统计

r ×2

if-statement ×1

set-difference ×1

strsplit ×1