与提迪尔一起循环

G_T

我有一些来自维基百科的数据

RHCP_data
                V1              V2              V3           V4
1       bar:kiedis from:01/01/1983 till:01/11/1986 color:vocals
2       bar:kiedis from:01/12/1986        till:end color:vocals
3         bar:flea from:01/01/1983        till:end   color:bass
4        bar:smith from:03/12/1988        till:end  color:drums
5  bar:klinghoffer from:01/10/2009        till:end   color:lead
6       bar:slovak from:01/01/1983 till:01/12/1983   color:lead
7       bar:slovak from:01/02/1985 till:25/06/1988   color:lead
...
...

我试图用来tidyr删除变量名,这很好用:

separate(RHCP_data, "V1", into = c("a", "b"), sep = ":")[2]

             b
1       kiedis
2       kiedis
3         flea
4        smith
5  klinghoffer
6       slovak
7       slovak
...
...

我想了解为什么这不起作用。

for(i in 1:4){
  RHCP_data[,i] <- separate(RHCP_data, paste0("V", i), into = c("a", "b"), sep = ":")[2][,1]
}

我得到这个错误:

Error: Invalid column specification

显然,数据集很小,因此在这种情况下这不是问题,但我觉得有些事情tidyr或循环是我不了解的。任何帮助表示赞赏。

博维尔上校

要将列作为变量传递,您需要使用separate_而不是separate

如果要使用for循环,我建议:

lst = lapply(seq(ncol(df)), function(x) {
    separate_(df, paste0('V', x), into = paste0(c("a", "b"), x), sep = ":")[x:(x+1)][,2]
}) 

data.frame(setNames(lst, names(df)))
#           V1         V2         V3     V4
#1      kiedis 01/01/1983 01/11/1986 vocals
#2      kiedis 01/12/1986        end vocals
#3        flea 01/01/1983        end   bass
#4       smith 03/12/1988        end  drums
#5 klinghoffer 01/10/2009        end   lead
#6      slovak 01/01/1983 01/12/1983   lead
#7      slovak 01/02/1985 25/06/1988   lead

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

提迪尔

来自分类Dev

提迪尔散布排序不一致

来自分类Dev

在提迪尔传播的混乱

来自分类Dev

提迪尔的整洁评估

来自分类Dev

提迪尔宽到长?

来自分类Dev

用提迪尔收集多列

来自分类Dev

使用提迪尔实现rbind的等效

来自分类Dev

用提迪尔收集多列

来自分类Dev

提迪尔价差不汇总数据

来自分类Dev

提迪尔中的spread()如何处理因子水平

来自分类Dev

从长到久的提迪尔:重复的措施和效率

来自分类Dev

无法使用提迪尔加入不匹配的行

来自分类Dev

使用提迪尔将宽桌改为长桌

来自分类Dev

迪夫和他妈妈在一起

来自分类Dev

提迪尔从宽到长,有两次重复测量

来自分类Dev

如何在提迪尔中使用有变量的collect_

来自分类Dev

提迪尔提取物正则表达式

来自分类Dev

如何使用聚集和传播来解决问题?(提迪尔)

来自分类Dev

将multipart与for循环一起使用

来自分类Dev

for循环未与对象一起执行

来自分类Dev

一起使用循环和方法

来自分类Dev

与 time.sleep 一起循环

来自分类Dev

For循环与后台循环一起完成吗?

来自分类Dev

For循环与后台循环一起完成吗?

来自分类Dev

将Bootstrap Modal与foreach循环一起使用

来自分类Dev

在Python中与循环一起运行单独的函数

来自分类Dev

在循环中与fs.readFile一起使用Promises

来自分类Dev

将颜色图与matplotlib循环仪一起使用

来自分类Dev

一起循环两个发电机