用相关R向量的第一个元素系统地替换变量名称的一部分

gh0strider18

我有一个数据帧,其中关联的“名称”向量的第一个元素与后续的命名数字向量有关。我正在尝试将无意义的数字替换为关联名称向量的第一个元素。

这是一个示例数据框:

df <- data.frame(data.0.name = c("A", "A", "A"), data.0.one_minute_ago =     c(1,2,1), data.0.one_hour_ago = c(2,2,3), 
                 data.1.name = c("B", "B", "B"), data.1.one_minute_ago =     c(3,3,2), data.1.one_hour_ago = c(5,6,2))`

每个number.name向量都与一个构造相关联(在这种情况下为A或B),每个向量都number.time与一个时间维度相关联。因此,data.0.one_minute_ago实际上是您有one_minute_ago的A数。

我想这样做(因为我有很多的变革的大数据集)是更换number.dimensionconstruct.dimension,当然做到这一点每个number.从0:9

我已经写了一些grep代码来开始执行此任务,但无济于事(我坚持在 number.

grep( "data.[0-9].name" ,names(df), perl=TRUE)
as.character(df[1, 1])
as.character(df[1, 4])
as.character(names(df[2]))
as.character(names(df[3]))
as.character(names(df[5]))
as.character(names(df[6]))

df.1 <- (df[1, grep( "data.[0-9].name" ,names(df))])


df.1 <- (df[1, grep( "data.[0-9].name" ,names(df))])
df.1 <- data.frame(lapply(df.1, as.character), stringsAsFactors=FALSE)
constructs <- as.character(df.1[1,c(1:2)])

这里的第一个和第二个元素constructs分别是与0.name/0.dimension1.name/关联的构造1.dimension

constructs [1]
constructs [2]

从那里,我相当确定代码将涉及其中一些内容,names(df)[] <-但不确定从何处去。

任何和所有帮助表示赞赏。

编辑:这是所需的变量名输出:只需更改变量名(当然保留与变量名关联的值:

data.A.name   data.A.one_minute_ago    data.A.one_hour_ago    data.B.name    data.B.one_minute_ago    data.B.one_hour_ago

编辑2:在我的真实数据集中,每个维度的重复次数(即one_minute_ago,one_hour_ago,one_day_ago)在整个构造中可能有所不同(即,一个构造的两个维度,另一个构造的3个维度,另一个维度的9个维度)。我希望解决方案考虑到这一点。

这是修改后的样本数据集,以反映这种细微之处:

df <- data.frame(data.0.name = c("A", "A", "A"), data.0.one_minute_ago = c(1,2,1), data.0.one_hour_ago = c(2,2,3), 
             data.1.name = c("B", "B", "B"), data.1.one_minute_ago = c(3,3,2), data.1.one_hour_ago = c(5,6,2), 
             data.2.name = c("C", "C", "C"), data.2.one_minute_ago = c(3,3,2), data.2.one_hour_ago = c(5,6,2), data.2.one_day_ago = c(3,2,3)) 
阿克伦

我们基于列名称中的“数字”创建分组“ indx”。split基于“ indx”(“ lst”)的列名。从以“名称”作为后缀(“ r1”)的列中获取一个元素。使用“映射”,并将gsub“ lst”的每个元素中的“数字”替换为“ r1”。

 indx <- gsub('[^0-9]+', '', names(df))
 lst <- split(names(df), indx)
 r1 <- as.character(unlist(df[1,grep('name', names(df))]))
 lst2 <- Map(function(x,y) gsub('[0-9]+', y, x), lst, r1)
 names(df) <- unsplit(lst2, indx)
 names(df)
 # [1] "data.A.name"           "data.A.one_minute_ago" "data.A.one_hour_ago"  
 #[4] "data.B.name"           "data.B.one_minute_ago" "data.B.one_hour_ago"  
 #[7] "data.C.name"           "data.C.one_minute_ago" "data.C.one_hour_ago"  
 #[10] "data.C.one_day_ago"   

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用相同数据的另一个向量的一部分替换向量的一部分

来自分类Dev

在第一个字段中用awk替换字符串的一部分

来自分类Dev

如何查看数组的一部分,获取特定值的第一个元素

来自分类Dev

AWK-如何将变量用作另一个变量名称的一部分

来自分类Dev

Django使用模板变量的值作为另一个变量名的一部分

来自分类Dev

Django使用模板变量的值作为另一个变量名的一部分

来自分类Dev

R用可能的替换向量有条件地替换字符串的一部分

来自分类Dev

C语言变量名称存储在内存的哪一部分?

来自分类Dev

在第一个分号之前提取字符串的一部分

来自分类Dev

R:如何将函数参数用作变量名的一部分

来自分类Dev

用向量替换三角形矩阵的一部分

来自分类Dev

将集合接口名称用作变量名称的一部分是一种好习惯吗?

来自分类Dev

用索引处的另一个序列替换序列的一部分

来自分类Dev

用另一个矩阵的值替换特定坐标的矩阵的一部分

来自分类Dev

用索引处的另一个序列替换序列的一部分

来自分类Dev

如果第一个列表包含另一个列表的一部分,则与第二个列表相交

来自分类Dev

用XML替换InnerText的一部分

来自分类Dev

PHP变量变量,将数字设置为变量名称的一部分

来自分类Dev

当您知道GET变量名称的一部分时,将GET变量分配给PHP中的另一个变量

来自分类Dev

jQuery,克隆元素并替换其名称的一部分

来自分类Dev

如何在cassandra中找到最后一个和第一个条目(日期是分区键的一部分)

来自分类Dev

通过在php中指定第一个和最后一个位置来返回字符串的一部分

来自分类Dev

批量将变量与另一个变量的一部分匹配

来自分类Dev

作为结构调用的一部分,如何在一行中编写变量名称?

来自分类Dev

用元素替换文本的一部分

来自分类Dev

如何使用Javascript用数组的一部分替换元素的内部HTML文本

来自分类Dev

用变量的值替换表达式的一部分

来自分类Dev

使用sed用变量替换行的一部分

来自分类Dev

用变量的值替换表达式的一部分

Related 相关文章

  1. 1

    用相同数据的另一个向量的一部分替换向量的一部分

  2. 2

    在第一个字段中用awk替换字符串的一部分

  3. 3

    如何查看数组的一部分,获取特定值的第一个元素

  4. 4

    AWK-如何将变量用作另一个变量名称的一部分

  5. 5

    Django使用模板变量的值作为另一个变量名的一部分

  6. 6

    Django使用模板变量的值作为另一个变量名的一部分

  7. 7

    R用可能的替换向量有条件地替换字符串的一部分

  8. 8

    C语言变量名称存储在内存的哪一部分?

  9. 9

    在第一个分号之前提取字符串的一部分

  10. 10

    R:如何将函数参数用作变量名的一部分

  11. 11

    用向量替换三角形矩阵的一部分

  12. 12

    将集合接口名称用作变量名称的一部分是一种好习惯吗?

  13. 13

    用索引处的另一个序列替换序列的一部分

  14. 14

    用另一个矩阵的值替换特定坐标的矩阵的一部分

  15. 15

    用索引处的另一个序列替换序列的一部分

  16. 16

    如果第一个列表包含另一个列表的一部分,则与第二个列表相交

  17. 17

    用XML替换InnerText的一部分

  18. 18

    PHP变量变量,将数字设置为变量名称的一部分

  19. 19

    当您知道GET变量名称的一部分时,将GET变量分配给PHP中的另一个变量

  20. 20

    jQuery,克隆元素并替换其名称的一部分

  21. 21

    如何在cassandra中找到最后一个和第一个条目(日期是分区键的一部分)

  22. 22

    通过在php中指定第一个和最后一个位置来返回字符串的一部分

  23. 23

    批量将变量与另一个变量的一部分匹配

  24. 24

    作为结构调用的一部分,如何在一行中编写变量名称?

  25. 25

    用元素替换文本的一部分

  26. 26

    如何使用Javascript用数组的一部分替换元素的内部HTML文本

  27. 27

    用变量的值替换表达式的一部分

  28. 28

    使用sed用变量替换行的一部分

  29. 29

    用变量的值替换表达式的一部分

热门标签

归档