如何在数据的每一列上应用函数?

一世

我问了一个问题,得到了很好的答案,解决了我的问题。但是,我想修改代码(这是我以前的问题)。

在两个不同数据帧的每一行中查找相似的字符串

我尝试再次解释该问题以及如何解决该问题

卡斯滕·W(Karsten W.)的回答给了我一个规范化的数据(为每个元素中的每个字符串分配其位置的数量),如下所示(我没有更改)

normalize <- function(x, delim) {
    x <- gsub(")", "", x, fixed=TRUE)
    x <- gsub("(", "", x, fixed=TRUE)
    idx <- rep(seq_len(length(x)), times=nchar(gsub(sprintf("[^%s]",delim), "", as.character(x)))+1)
    names <- unlist(strsplit(as.character(x), delim))
    return(setNames(idx, names))
}

第二部分是将上述功能分别应用于每列,因此,如果我需要在1000列上执行此操作,这将非常耗时。相反,我在注释中执行以下操作,我尝试使用lappy

# s1 <- normalize(df1[,1], ";")
# s2 <- normalize(df1[,2], ";")

我喜欢这样

myS <- lapply(df1, normalize,";") 

我将其他部分保持原样

lookup <- normalize(df2[,1], ",")

然后在两者之间进行检查,我修改了该函数以仅保留df2的行号(我从中删除了[s [found]

process <- function(s) {
    lookup_try <- lookup[names(s)]
    found <- which(!is.na(lookup_try))
    pos <- lookup_try[names(s)[found]]
    return(paste(pos, sep=""))
}

那我做什么我都无法得到输出

process(myS$sample1) ...

最后,我需要将数据保存在txt文件或我可以读取的内容中。我用过,write.table但这行不通。有没有更好的方法可以做到这一点?如何自动执行?

游戏

这是一个错字。process(myS$sample_1)而不是...(myS$sample1)
我得到:

> process(myS$sample_1)
[1] "4" "1" "4"

> lapply(myS, process)
$sample_1
[1] "4" "1" "4"

$sample_2
[1] "4"  "15" "16"

恕我直言,函数process()最好返回一个整数向量:

process <- function(s) {
  lookup_try <- lookup[names(s)]
  found <- which(!is.na(lookup_try))
  pos <- lookup_try[names(s)[found]]
  names(pos) <- NULL
  pos
}

要将结果放入数据框:

r <- lapply(myS, process)

m <- max(sapply(r, length))
r.matrix <- matrix(NA, m, length(r))
for (j in 1:length(r)) {
  x <- r[[j]]
  length(x) <- m
  r.matrix[,j] <- x
}
colnames(r.matrix) <- names(r)
r.df <- as.data.frame(r.matrix)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在数据框中的每一列上使用grepl?

来自分类Dev

在pandas数据框中的每一列上应用函数

来自分类Dev

如何在数据框的每一列上计算修改后的 Z 分数和 IQR

来自分类Dev

如何在数据框的每一行上应用函数?

来自分类Dev

如何在数据框的列上使用R的diff函数,条件是在另一列中具有特定值

来自分类Dev

如何在熊猫数据框中的每列中包含NaN计数的列上应用函数?

来自分类Dev

如何在数据框的每一列中计算特征?

来自分类Dev

Kendo网格由于数据量巨大,如何在鼠标悬停在每一列上显示行内容?

来自分类Dev

如何在SQL的一列上同时应用REPLACE和UPPER

来自分类Dev

如何在数据帧的每一行上应用功能?

来自分类Dev

在其余的列作为参数的情况下,在数据框的每一列上调用R apply-like函数?

来自分类Dev

如何在数据框python3的每一列中将字符串映射到数字ID

来自分类Dev

如何根据特定条件在数据框熊猫中的列上添加一列

来自分类Dev

如何根据第一列和第二列之间的差异在数据帧的第三列上获取值?

来自分类Dev

如何在数据框中的每个字符上添加空格应用于一列python 2.7 pandas

来自分类Dev

如何在一列中的每一行上重复一个谷歌脚本函数?

来自分类Dev

如何有效地在Pyspark的数据帧的每一列上为每个最小值或最大值获取一行?

来自分类Dev

根据熊猫中另一列上的值在数据框中创建一个新列

来自分类Dev

在数据帧的每一行上应用 SentimentIntensityAnalyzer 函数并提供情绪分数

来自分类Dev

在列上应用函数以创建另一列

来自分类Dev

MySQL_如何对在另一列上具有相同值的每两列中的值求和?

来自分类Dev

使用聚合将多个函数应用于数据框中的每一列

来自分类Dev

将函数应用于数据库的每一列

来自分类Dev

在查询如何在 Oracle 中的另一列上使用 order by 获取一列时

来自分类Dev

在熊猫中,如何将函数应用于返回两列的每一列

来自分类Dev

在熊猫的一列上重塑数据框

来自分类Dev

如何在数据框上应用函数

来自分类Dev

如何在MySQL中表格的一列上执行搜索调用?

来自分类Dev

如何在另一列上显示html表的计算

Related 相关文章

  1. 1

    如何在数据框中的每一列上使用grepl?

  2. 2

    在pandas数据框中的每一列上应用函数

  3. 3

    如何在数据框的每一列上计算修改后的 Z 分数和 IQR

  4. 4

    如何在数据框的每一行上应用函数?

  5. 5

    如何在数据框的列上使用R的diff函数,条件是在另一列中具有特定值

  6. 6

    如何在熊猫数据框中的每列中包含NaN计数的列上应用函数?

  7. 7

    如何在数据框的每一列中计算特征?

  8. 8

    Kendo网格由于数据量巨大,如何在鼠标悬停在每一列上显示行内容?

  9. 9

    如何在SQL的一列上同时应用REPLACE和UPPER

  10. 10

    如何在数据帧的每一行上应用功能?

  11. 11

    在其余的列作为参数的情况下,在数据框的每一列上调用R apply-like函数?

  12. 12

    如何在数据框python3的每一列中将字符串映射到数字ID

  13. 13

    如何根据特定条件在数据框熊猫中的列上添加一列

  14. 14

    如何根据第一列和第二列之间的差异在数据帧的第三列上获取值?

  15. 15

    如何在数据框中的每个字符上添加空格应用于一列python 2.7 pandas

  16. 16

    如何在一列中的每一行上重复一个谷歌脚本函数?

  17. 17

    如何有效地在Pyspark的数据帧的每一列上为每个最小值或最大值获取一行?

  18. 18

    根据熊猫中另一列上的值在数据框中创建一个新列

  19. 19

    在数据帧的每一行上应用 SentimentIntensityAnalyzer 函数并提供情绪分数

  20. 20

    在列上应用函数以创建另一列

  21. 21

    MySQL_如何对在另一列上具有相同值的每两列中的值求和?

  22. 22

    使用聚合将多个函数应用于数据框中的每一列

  23. 23

    将函数应用于数据库的每一列

  24. 24

    在查询如何在 Oracle 中的另一列上使用 order by 获取一列时

  25. 25

    在熊猫中,如何将函数应用于返回两列的每一列

  26. 26

    在熊猫的一列上重塑数据框

  27. 27

    如何在数据框上应用函数

  28. 28

    如何在MySQL中表格的一列上执行搜索调用?

  29. 29

    如何在另一列上显示html表的计算

热门标签

归档