是否有简明(但相当彻底)的教程,以使某人习惯在MATLAB中工作,快速编写R代码.
这是我想到的一个特殊问题:根据我对R文档和教程的有限经验,我对R中的数据类型以及如何操作它们留下了很多困惑.例如,什么是向量,矩阵,列表,数据框等,以及它们如何相关.我没有找到明确解释基本数据类型的来源,以至于我想知道语言是否因设计而模糊不清.
如果您在尝试学习另一种编程语言时,如果您只熟悉一种编程语言,那么总是很难,因为您希望以不同的方式思考问题,而这些不正确的期望会导致问题.要有一个适合来自其他语言的学生的入门指南是非常困难的('你会认为你应该做X,但在R中,你应该做Y').但是,我可以向你保证,R的设计并不含糊.
大多数情况下,您只需要获得介绍性指南并通过它.起初,这将是一项很多工作,令人沮丧,但这是唯一的方法.最后,它会变得更容易.也许我可以告诉你一些事情来启动这个过程:
list只是一组有序的元素.这可以是任何长度,并包含任何旧类型的东西.例如,x <- list(5, "word", TRUE). vector也是一组有序的元素.虽然它可以是任何长度,但元素必须都是相同的类型.例如x <- c(3,5,4),x <- c("letter", "word", "a phrase"),x <- c(TRUE, FALSE, FALSE, TRUE). matrix是向量的向量,其中所有分量向量具有相同的长度和类型.例如,x <- matrix(c("a", "b", "c", "d"), ncol=2). data.frame是向量列表,其中所有组件向量具有相同的长度,但不必具有相同的类型.例如,x <- data.frame(category=c("blue", "green"), amount=c(5, 30), condition.met=c(TRUE, FALSE)). (回复评论:)
c(c("a", "b"), c("c", "d")),不会创建矩阵,而是从两个较短的向量创建一个较长的向量.函数?cbind(将列绑定在一起)或rbind()(将行绑定在一起)将创建一个矩阵. mode(),和typeof(),这是相关的,但不太你在找什么.在这里和这里了解更多关于这些区别的信息.要检查对象是否是您可以使用的特定类型is.<specific type>(),例如?is.vector. as.vector(),但这仅在满足条件(例如,如上所述)时才有效.