【问题标题】:R - Is it possible to append to a function?R - 是否可以附加到函数?
【发布时间】:2018-02-27 05:56:58
【问题描述】:

我想知道是否可以使用循环来做这样的事情:

data[data!=1]
data[data!=1&data!=2]
data[data!=1&data!=2&data!=3]

【问题讨论】:

    标签: r function loops append subset


    【解决方案1】:

    下午好 :)

    你可以试试:

    data <- c(1,2,3,2,2,1,4,5,2,1)
    indices <- 1:3 # or use function seq for more general sequences
    for(i in indices){
      print(data[!data %in% min(indices):i])
    }
    

    如果你想重新分配给新的向量,你可以试试 lapply:

    obj_list <- lapply(indices, FUN = function(i){
      data[!data %in% min(indices):i]
    })
    obj_list
    

    这是你要找的吗?

    【讨论】:

    • 谢谢,这让我走上了我需要做的事情的轨道。
    • 嗨,快速跟进的问题,如果我试图按字符串进行子集化,我该怎么做?谢谢
    • 你有例子吗?我所做的另一种方法是使用subset 函数。如果你有像string_vec = c("a", "b", "c") 这样的字符串。然后你可以做data[!data %in% string_vec[min(indices):i] ]。也就是说,定义一个从 1 到字符串长度的数字向量。然后做同样的事情,但做string_vec[num_vec]。有意义吗?
    • 我试图遵循stackoverflow.com/questions/26612805/… 中显示的答案,但数据集更大。
    猜你喜欢
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多