为什么将数据帧中的转换逻辑应用于5个字符的字符串?

威尔·比森

假设我有一个数据框:

mydf <- data.frame(colA = c(1,20), colB = c("a", "ab"), colC = c(T, F))

现在,假设我想对数据框中的每一行应用一个函数。此函数使用列C的布尔值。使用时apply,每个非字符串都将转换为该列中存在的最大长度的字符串:

> apply(mydf, 1, '[', 3)
[1] " TRUE" "FALSE"

该字符串" TRUE"不再可解释为逻辑。

> ifelse(apply(mydf, 1, '[', 3), 1, 2)
[1] NA  2

我可以用来解决此问题gsub(" ", "", x),但我敢肯定有更好的方法。为什么apply仅将逻辑直接转换为字符串时会有这种行为?是否存在apply不具有上述行为类似函数?

丰富的雕刻

调用时apply,您的数据框已转换为字符矩阵。出现空格是因为每个元素都被转换为列中最宽元素的宽度。

您可以通过类似for循环的sapply调用来实现

> ( s <- sapply(seq(nrow(mydf)), function(i) mydf[i, 3]) )
# [1]  TRUE FALSE
> class(s)
# [1] "logical"

一种解决方法apply

> as.logical(gsub("\\s+", "", apply(mydf, 1, `[`, 3)))
# [1]  TRUE FALSE

但是请注意,这些都与

> mydf[,3]
# [1]  TRUE FALSE

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么将谓词应用于 xpath 中的字符串是有效的?

来自分类Dev

C lang-sprintf在应用于负数int时会创建8个字符长的字符串,而不是6个字符串

来自分类Dev

C lang-sprintf在应用于负数int时会创建8个字符长的字符串,而不是6个字符串

来自分类Dev

如何使用jQuery在div中查找某个字符串,然后将特定样式应用于另一个div(如果存在)?

来自分类Dev

将字符串拆分为2个字符的组合,并扩展为R中的数据帧

来自分类Dev

R将具有多个字符串长度的列表转换为数据帧

来自分类Dev

R将具有多个字符串长度的列表转换为数据帧

来自分类Dev

在每行1个字符串中具有多个句子的数据帧上应用Sentimentr

来自分类Dev

将声明为字符串的函数应用于 Pandas 数据帧

来自分类Dev

Magick CSS,它以不同方式应用于字符串的每个字符

来自分类Dev

为什么我的字符串在php中的2995个字符后停止

来自分类Dev

为什么最后一个字符是“?” 在这个字符串函数中

来自分类Dev

使用字典将多个字符串包含过滤器应用于熊猫数据框

来自分类Dev

为什么sscanf跳过每个字符串的前4个字符?

来自分类Dev

为什么将string []识别为一个字符串

来自分类Dev

VB 将 2 个数据行转换为数组中的单个字符串

来自分类Dev

为什么putInt在Android Java中需要一个字符串?

来自分类Dev

应用于字符串数组指针的逻辑

来自分类Dev

为什么第二个字符串保存在第一个字符串中?

来自分类Dev

在一个div中,如何将样式分别应用于每个字符?

来自分类Dev

将逗号分隔的字符串转换成几个列表,并忽略字符串的第一个元素Java的前5个字符

来自分类Dev

简短的php代码,用于随机数字符串,5个字符

来自分类Dev

使用Python将字符串中的字符转换为多个字符

来自分类Dev

用另一个数据帧中的相同字符串处理一个字符串

来自分类Dev

计算字符串中每个单词的每个字符,并使用php将少于5个字符的单词放入数组中

来自分类Dev

计算字符串中每个单词的每个字符,并使用php将少于5个字符的单词放入数组中

来自分类Dev

Objectify无法将大于500个字符的字符串自动转换为@Embed集合中的文本

来自分类Dev

为什么string.TrimEnd不只删除字符串中的最后一个字符

来自分类Dev

为什么我的strcpy()不覆盖整个字符串并保留最后一个char []中的字符?

Related 相关文章

  1. 1

    为什么将谓词应用于 xpath 中的字符串是有效的?

  2. 2

    C lang-sprintf在应用于负数int时会创建8个字符长的字符串,而不是6个字符串

  3. 3

    C lang-sprintf在应用于负数int时会创建8个字符长的字符串,而不是6个字符串

  4. 4

    如何使用jQuery在div中查找某个字符串,然后将特定样式应用于另一个div(如果存在)?

  5. 5

    将字符串拆分为2个字符的组合,并扩展为R中的数据帧

  6. 6

    R将具有多个字符串长度的列表转换为数据帧

  7. 7

    R将具有多个字符串长度的列表转换为数据帧

  8. 8

    在每行1个字符串中具有多个句子的数据帧上应用Sentimentr

  9. 9

    将声明为字符串的函数应用于 Pandas 数据帧

  10. 10

    Magick CSS,它以不同方式应用于字符串的每个字符

  11. 11

    为什么我的字符串在php中的2995个字符后停止

  12. 12

    为什么最后一个字符是“?” 在这个字符串函数中

  13. 13

    使用字典将多个字符串包含过滤器应用于熊猫数据框

  14. 14

    为什么sscanf跳过每个字符串的前4个字符?

  15. 15

    为什么将string []识别为一个字符串

  16. 16

    VB 将 2 个数据行转换为数组中的单个字符串

  17. 17

    为什么putInt在Android Java中需要一个字符串?

  18. 18

    应用于字符串数组指针的逻辑

  19. 19

    为什么第二个字符串保存在第一个字符串中?

  20. 20

    在一个div中,如何将样式分别应用于每个字符?

  21. 21

    将逗号分隔的字符串转换成几个列表,并忽略字符串的第一个元素Java的前5个字符

  22. 22

    简短的php代码,用于随机数字符串,5个字符

  23. 23

    使用Python将字符串中的字符转换为多个字符

  24. 24

    用另一个数据帧中的相同字符串处理一个字符串

  25. 25

    计算字符串中每个单词的每个字符,并使用php将少于5个字符的单词放入数组中

  26. 26

    计算字符串中每个单词的每个字符,并使用php将少于5个字符的单词放入数组中

  27. 27

    Objectify无法将大于500个字符的字符串自动转换为@Embed集合中的文本

  28. 28

    为什么string.TrimEnd不只删除字符串中的最后一个字符

  29. 29

    为什么我的strcpy()不覆盖整个字符串并保留最后一个char []中的字符?

热门标签

归档