【问题标题】:Splitting up a field based on the number of iterations within the field R根据字段 R 中的迭代次数拆分字段
【发布时间】:2014-08-09 02:06:22
【问题描述】:

我有一段代码从 variable_id 字段中分解出变量 Ids,变量的数量可以根据实验而改变。在下面的示例中,我有 5 个不同的变量。我想得到一个函数来检查variation_id字段中的变量数量(变量的数量是由'_'分隔的数字块的数量),以便告诉R在设定的时间内运行代码.

我查看了循环,但没有找到执行此操作的好方法。 谢谢。

data$variable_1<-lapply(strsplit(as.character(data$variation_id),"\\_"),"[",1)
data$variable_2<-lapply(strsplit(as.character(data$variation_id),"\\_"),"[",2)
data$variable_3<-lapply(strsplit(as.character(data$variation_id),"\\_"),"[",3)
data$variable_4<-lapply(strsplit(as.character(data$variation_id),"\\_"),"[",4)
data$variable_5<-lapply(strsplit(as.character(data$variation_id),"\\_"),"[",5)

variation_id
1048852146_1073930921_1032241802_1044434085_1068913167
1048852146_1073930921_1032241802_1044434085_1068913167
1048852146_1073930921_1032241802_1044434085_1068913167
1048852146_1073930921_1032241802_1044434085_1068913167
1048852146_1073930921_1032241802_1044434085_1068913167
1048852146_1073930921_1032241802_1044434085_1068913167
1048852146_1068950941_1041087796_1044434085_1048407737
1048852146_1068950941_1041087796_1044434085_1048407737
1048852146_1068950941_1041087796_1044434085_1048407737
1048852146_1068950941_1041087796_1044434085_1048407737

【问题讨论】:

    标签: r function lapply


    【解决方案1】:
    len <- length(strsplit(as.character(data$variation_id), split="\\_"))
    
    for(i in 1:len){
      data[[paste0("variable_", i)]] <- unlist(lapply(strsplit(as.character(data$variation_id),"\\_"),"[",i))
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-09
      • 1970-01-01
      • 2019-07-13
      相关资源
      最近更新 更多