首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于习惯于MATLAB的人来说,学习R,并对R数据类型感到困惑

对于习惯于MATLAB的人来说,学习R,并对R数据类型感到困惑
EN

Stack Overflow用户
提问于 2013-03-09 23:00:15
回答 1查看 188关注 0票数 3

有没有简明的(但相当全面的)教程,让人们习惯于在MATLAB中工作,并快速编写R代码。

这是我脑海中的一个特殊问题:由于我使用R文档和教程的经验有限,我对R中的数据类型以及如何操作它们有很多困惑。例如,什么是向量、矩阵、列表、数据帧等,以及它们之间的关系。我还没有找到清晰解释基本数据类型的来源,以至于我想知道这种语言是否在设计上是模棱两可的。

EN

回答 1

Stack Overflow用户

发布于 2013-03-10 00:19:57

当您尝试学习另一种不同的编程语言时,如果您只主要熟悉一种编程语言,这总是很困难,因为您希望以不同的方式思考问题,而这些不正确的期望会导致问题。很难有一个适合来自其他两种语言的学生的入门指南(“你会认为你应该做X,但在R中,你应该做Y”)。但是,我可以向您保证,R并不是被设计成模棱两可的。

大多数情况下,你只需要得到一个介绍性的指南,并吃力地通过它。一开始,这将是大量的工作,令人沮丧,但这是唯一的方法。最终,它会变得更容易。也许我可以告诉你一些事情来启动这个过程:

  • a list只是一组有序的元素。这可以是任何长度,并包含任何旧类型的东西。例如,x <- list(5, "word", TRUE)
  • a vector也是元素的有序集合。尽管它可以是任意长度,但元素必须都是相同类型的。例如,x <- c(3,5,4)x <- c("letter", "word", "a phrase")x <- c(TRUE, FALSE, FALSE, TRUE)
  • a matrix是矢量的矢量,其中所有分量矢量具有相同的长度和类型。例如,x <- matrix(c("a", "b", "c", "d"), ncol=2)
  • a data.frame是一个矢量列表,其中所有分量矢量都具有相同的长度,但不必具有相同的类型。例如,x <- data.frame(category=c("blue", "green"), amount=c(5, 30), condition.met=c(TRUE, FALSE))

(回应评论:)

  • 函数?c用于连接;c(c("a", "b"), c("c", "d"))不会创建矩阵,而是从两个较短的向量中创建一个较长的向量。函数?cbind (将列绑定在一起)或rbind() (将行绑定在一起)将创建一个矩阵。

  • ,我不知道有哪个函数可以输出任何对象的类型。最接近的可能是?class,但有时会给出,例如“整数”,我认为你想要“向量”。还有mode()typeof(),它们是相关的,但并不完全是您想要的。了解有关这些herehere之间区别的更多信息。要检查对象是否为特定类型,可以使用is.<specific type>(),例如?is.vector
  • 若要将对象强制(即“强制转换”)为特定类型,您可以使用as.vector(),但这仅在满足条件(例如,上面提到的)时才起作用。
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15316580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档