如何重命名R中不同数据框中不同列中的观测值?

纳姆拉

我想将“名称”添加到不同数据帧中不同列中观察值名称的开头和“ plc”的末尾,除非名称在正确的位置已经有“名称”或“ plc”。以下是一个简单的代表。

原始数据框

names1a <- c("Name Alperton plc", "Bury", "Central", "Durham")
names1b <- c("Egham plc", "Fulton", "Great", "Heywood plc")
year1 <- c(1999, 2000, 2001, 2001)
df1 <- data.frame(names1a, names1b, year1)

names2 <- c("Charleton plc", "Birmingham", "Name Tees", "Salford")
year2 <- c(2000, 1955, 2001, 2001)
df2 <- data.frame(names2, year2)

所需结果:

df1


            names1a          names1b year1
1 Name Alperton plc   Name Egham plc  1999
2     Name Bury plc  Name Fulton plc  2000
3  Name Central plc   Name Great plc  2001
4   Name Durham plc Name Heywood plc  2001

df2

               names2 year2
1  Name Charleton plc  2000
2 Name Birmingham plc  1955
3       Name Tees plc  2001
4    Name Salford plc  2001

我的方法:我得到了想要的结果,但是我有一个包含许多列的大型数据集,所以我的方法太重复了。我在创建函数方面很费力,我认为这里有用的是:

df1$names1a <- sub("$", " plc", df1$names1a)
df1$names1b <- sub("$", " plc", df1$names1b)
df2$names2 <- sub("$", " plc", df2$names2)
df1$names1a <- sub("plc plc", "plc", df1$names1a)
df1$names1b <- sub("plc plc", "plc", df1$names1b)
df2$names2 <- sub("plc plc", "plc", df2$names2)

df1$names1a <- sub("^", "Name ", df1$names1a)
df1$names1b <- sub("^", "Name ", df1$names1b)
df2$names2 <- sub("^", "Name ", df2$names2)
df1$names1a <- sub("Name Name", "Name", df1$names1a)
df1$names1b <- sub("Name Name", "Name", df1$names1b)
df2$names2 <- sub("Name Name", "Name", df2$names2)
杰伊

最简单的方法可能是删除“名称”和“ plc”,然后将其添加到所有内容中,如下所示:

f <- function(x) paste("Name", trimws(gsub("^Name|plc$", "", x)), "plc")

cols <- c("names1a", "names1b")
df1[cols] <- lapply(df1[cols], f)
df1
#          names1a         names1b year1
# 1 Name Arton plc    Name Egh plc  1999
# 2  Name Bury plc  Name Futon plc  2000
# 3  Name Cntr plc    Name Grt plc  2001
# 4  Name Durh plc Name Hywood plc  2001

df2$names2 <- f(df2$names2)
df2
#             names2 year2
# 1  Name Chrton plc  2000
# 2 Name Biringh plc  1955
# 3      Name Ts plc  2001
# 4   Name Sford plc  2001

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何根据R中的频率重命名观测值?

来自分类Dev

匹配r中数据框不同列中的值

来自分类Dev

R-从数据框中的不同列中删除值

来自分类Dev

重命名组合成一个对象的不同数据框中的多列

来自分类Dev

重命名R中数据框中的特定列

来自分类Dev

使用值字典重命名Pandas数据框中的列

来自分类Dev

重命名列表中每个数据框中的列,而列数有所不同

来自分类Dev

在R中:组合不同数据框的列

来自分类Dev

如何重命名数据框中的列

来自分类Dev

如何重命名Scala数据框中的列标题

来自分类Dev

在某些情况下如何重命名熊猫数据框中的列值

来自分类Dev

在R中,如何使用数据框B中的变量重命名数据框A中的变量

来自分类Dev

如何对R中相同的两列具有不同值的数据框进行子集

来自分类Dev

R:如何在数据框的不同列中查找对应的值

来自分类Dev

如何对R中相同的两列具有不同值的数据框进行子集

来自分类Dev

R 数据框:如何根据另一列中不同值的列值对数据进行切片

来自分类Dev

从R中的数据框中删除选定的观测值

来自分类Dev

确定 R 中数据框中每列中不同值 0 或 1 或 na 的总次数

来自分类Dev

使用R中全局环境中的值在数据框中重命名列

来自分类Dev

应用列范围函数时,如何从数据框中的不同列中获取某些值?

来自分类Dev

如何重命名在R中出现少于x次的数据列中的值?

来自分类Dev

检查R中数据框中不同列的数量

来自分类Dev

我想将数据框中的列表分离为单个值,以与R中的不同列

来自分类Dev

从 R 的数据框中的不同列中获取最大值

来自分类Dev

根据不同列python数据框中的空值过滤数据框列中的值

来自分类Dev

更改数据框列中的值取决于不同数据框中两列的值

来自分类Dev

使用purrr重命名小标题列表中的不同列

来自分类Dev

匹配来自不同列/数据框的数据-在R中工作

来自分类常见问题

在pyspark数据框中显示不同的列值:python

Related 相关文章

  1. 1

    如何根据R中的频率重命名观测值?

  2. 2

    匹配r中数据框不同列中的值

  3. 3

    R-从数据框中的不同列中删除值

  4. 4

    重命名组合成一个对象的不同数据框中的多列

  5. 5

    重命名R中数据框中的特定列

  6. 6

    使用值字典重命名Pandas数据框中的列

  7. 7

    重命名列表中每个数据框中的列,而列数有所不同

  8. 8

    在R中:组合不同数据框的列

  9. 9

    如何重命名数据框中的列

  10. 10

    如何重命名Scala数据框中的列标题

  11. 11

    在某些情况下如何重命名熊猫数据框中的列值

  12. 12

    在R中,如何使用数据框B中的变量重命名数据框A中的变量

  13. 13

    如何对R中相同的两列具有不同值的数据框进行子集

  14. 14

    R:如何在数据框的不同列中查找对应的值

  15. 15

    如何对R中相同的两列具有不同值的数据框进行子集

  16. 16

    R 数据框:如何根据另一列中不同值的列值对数据进行切片

  17. 17

    从R中的数据框中删除选定的观测值

  18. 18

    确定 R 中数据框中每列中不同值 0 或 1 或 na 的总次数

  19. 19

    使用R中全局环境中的值在数据框中重命名列

  20. 20

    应用列范围函数时,如何从数据框中的不同列中获取某些值?

  21. 21

    如何重命名在R中出现少于x次的数据列中的值?

  22. 22

    检查R中数据框中不同列的数量

  23. 23

    我想将数据框中的列表分离为单个值,以与R中的不同列

  24. 24

    从 R 的数据框中的不同列中获取最大值

  25. 25

    根据不同列python数据框中的空值过滤数据框列中的值

  26. 26

    更改数据框列中的值取决于不同数据框中两列的值

  27. 27

    使用purrr重命名小标题列表中的不同列

  28. 28

    匹配来自不同列/数据框的数据-在R中工作

  29. 29

    在pyspark数据框中显示不同的列值:python

热门标签

归档