当前位置: 首页 > 知识库问答 >
问题:

如何在dplyr中提取特定列不是数字的行

方航
2023-03-14
df <- data.frame(a = c(1:10),
                 b= c(11:15, NA, NaN, '', 20, 22))

a   b
1   11          
2   12          
3   13          
4   14          
5   15          
6   NA          
7   NaN         
8               
9   20          
10  22
df %>% filter(!is.numeric(b))

共有1个答案

居琛
2023-03-14

将数据视为:

df <- data.frame(a = c(1:10),
                 b= c(11:15, NA, NaN, '', 20, 22))

我可以看到的第一个问题是b是作为因子读入的,可以通过执行以下操作来检查:

str(df)

给我们

'data.frame':   10 obs. of  2 variables:
 $ a: int  1 2 3 4 5 6 7 8 9 10
 $ b: Factor w/ 9 levels "","11","12","13",..: 2 3 4 5 6 NA 9 1 7 8
df %>% 
  mutate( b = as.numeric(as.character(b))) %>%
  filter(is.nan(b) | is.na(b)) 
  a   b
1 6  NA
2 7 NaN
3 8  NA
 类似资料:
  • 对于熊猫数据帧的特定列,该列实际上是转换成BCD的16位数据。我只想提取特定行的14-8位并转换为BCD。下面的公式适用于如下的小数据帧。 但当我申请时 对于688126行的较大数据帧,我得到一个错误,说 基数为2的int()的文本无效:“” 错误如下所示 ValueError Traceback(最近调用最后一次)在1 df.LO_TIME_0_J2_0---- C:\ProgramData\A

  • 问题内容: 这是一个简单的问题,但请说我有一个MxN矩阵。我要做的就是提取特定的列并将其存储在另一个numpy数组中,但是我得到了无效的语法错误。这是代码: 似乎上述行就足够了,但我想不是。我环顾四周,但找不到关于此特定场景的任何语法明智的方法。 问题答案: 我假设你想要的列和? 要一次选择多个列,请使用 要一次选择一个,请使用 带有名称: 您可以从…获得名字。

  • 我不知道如何选择特定的JSON数据。 如何更改此代码以使我只有id,而没有其他响应数据? 我在网上阅读,显然我需要使用结构?我不确定如何处理这个问题。 这将返回...

  • 问题内容: 我有一个包含6列的R数据框,并且我想创建一个仅包含三列的新数据框。 假设我的数据帧df,我想提列A,B和E,这是唯一的命令,我可以计算出: 有没有更紧凑的方法可以做到这一点? 问题答案: 如果您的data.frame被调用,则使用dplyr包df1: 也可以在不使用%>%管道的情况下将其写为:

  • 问题内容: 我有一个字典列表,它们在列表中都具有相同的结构。例如: 我想从列表中的每个字典中获取每个项目: 我当然可以遍历列表并使用for循环提取每个值: 但是我的数据集很大。我想知道是否有更快的方法。 问题答案: 如果只需要迭代一次值,请使用生成器表达式: 另一个(深奥的)选项可能与-一起使用-它可能会比生成器表达式快一点,或者不快一点,具体取决于情况: 而且,如果您绝对需要一个列表,则列表理解

  • 我有两个 char 数组:一个用某个单词填充。例如 第二个是给定的大小,并填充从“a”到“z”的随机字符。 我需要计算一个单词在第二个数组中出现了多少次。例如,假设第二个数组是:< code>{'w ',' j ',' a ',' v ',' a'},给定的示例函数应该返回1,因为单词“java”在数组中只出现一次。 这是我的密码 当我将arr设置为与word相同时,它返回预期值,但当我将arr设