【问题标题】:R - create iterable list/dataframe from unique()R - 从 unique() 创建可迭代列表/数据框
【发布时间】:2013-06-07 17:35:01
【问题描述】:

我想从列中获取唯一元素。这似乎是直截了当的。这两种方法都有效,但我没有得到我想要的对象类型:

userlist <- as.list(somebigdf$username)
userlist <- unique(userlist)

userlist <- unique(somebigdf$username)

当我遍历时,我没有得到名字:

for(i in 1:length(userlist)){
    cat(names(userlist[i]), '\n')
}

返回空格。

for(i in userlist){
    cat(i, '\n')
}

返回整数。

上面的函数只是一个例子。我将使用它,但也会在 if-else 函数中匹配返回的名称。

对象类型似乎是整数或扩展的 data.frame,每个名称都有很多值 - 这不是我想要的。我真的想要一个字符串列表,类似于 userlist = c(the results from unique)。

编辑 -

此代码将正确地遍历名称:

for(name in unique(somebigdf$username)){
    cat(name, '\n')
}

【问题讨论】:

  • 我想你对names这个函数感到困惑。我不认为它做你认为它做的事。尝试删除它。
  • unique 返回用户名中字符串的每个唯一值的字符向量。 names 返回列的名称..
  • 我很困惑。你用你的编辑回答了你自己的问题。有什么问题?
  • 嗯,是的,不是的。我完成了我打算做的事情 - 但我没有得到所提出问题的答案 - 我如何从唯一创建一些对象(列表、数据框等)然后遍历它?我很高兴结束这个问题,但是当答案似乎与问题不完全一致时,我看到人们变得非常敌对。
  • “我如何从唯一创建一些对象(列表、数据框等)然后遍历它”但这正是你所做的!

标签: r list unique


【解决方案1】:

我接受我自己的答案。即,一个可行的解决方案 - 此代码将正确地遍历名称:

for(name in unique(somebigdf$username)){
    cat(name, '\n')
}

如果以后有人有更好的答案似乎更符合问题,我很乐意接受这个答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多