【问题标题】:Function to Change "List" objects into "numerics"将“列表”对象更改为“数字”的功能
【发布时间】:2014-04-14 14:52:46
【问题描述】:

我有一个包含几个“列表”向量的矩阵。我想将它们转换为数字。 我已经读过我应该使用 as.numeric(x) - 但是由于我有几个值,我想使用一个函数来遍历我的矩阵并检查矩阵的每个向量是否是一个列表并将其作为数字返回.

我认为我可以使用类似的东西:

if 
typeof(matrix$vector1)=="list" 

then as.numeric(matrix$vector1)

任何人都可以帮助我如何创建这样的功能吗? 我会很感激任何帮助!

亲切的问候,

【问题讨论】:

  • 你试过unlist吗?
  • 感谢您的回答斯文。我刚才确实尝试使用“unlist”,但这并没有帮助。 typeof(vector) 仍然是“列表”。
  • 最初是怎么做到的?这是其中一个感觉正确答案是修复早期步骤的问题。
  • @Aaron 感谢您的反馈。我做了一个小组工作,我之前的队友实际上做了这个任务,并把它作为一个清单给了我。这就是为什么我之前无法修复代码...

标签: r function


【解决方案1】:

试试这个:

if (is.list(matrix$vector1)) sapply(matrix$vector1,as.numeric)

is.list 将检查输入是否为列表,如果为 TRUE,则 sapply 将“应用”函数 as.numeric 到列表的每个元素

【讨论】:

  • 感谢您的回答 Vivek。是的,这正是我正在寻找的谢谢!如果可以的话,还有一个后续问题:我如何自动读出我的标题,因为我的标题有完全不同的名称(例如男性、年龄、ID 等,...)
  • 试试这个:if (is.list(matrix$vector1)) numeric.list<-sapply(matrix$vector1,as.numeric); names(numeric.list)<-names(matrix$vector1)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
相关资源
最近更新 更多