gpt4 book ai didi

r - 为习惯 MATLAB 的人学习 R,并对 R 数据类型感到困惑

转载 作者:行者123 更新时间:2023-12-04 12:14:04 28 4
gpt4 key购买 nike

是否有简明(但相当详尽)的教程来帮助人们习惯于在 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(c("a", "b"), c("c", "d")) , 不会创建矩阵,而是从两个较短的向量创建一个较长的向量。函数?cbind (将列绑定(bind)在一起),或 rbind() (将行绑定(bind)在一起),将创建一个矩阵。
  • 我不知道有哪个函数可以输出任何对象的类型。最接近的可能是 ?class ,但这有时会给出,例如,“整数”,我认为你想要“向量”。还有mode() , 和 typeof() ,它们是相关的,但并不是您要查找的内容。详细了解这些之间的区别 herehere .要检查对象是否是特定 类型,您可以使用 is.<specific type>() ,例如 ?is.vector .
  • 强制(即“转换”)对象为特定类型,您可以使用as.vector() ,但这只有在满足条件(例如,上面提到的)时才有效。

关于r - 为习惯 MATLAB 的人学习 R,并对 R 数据类型感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15316580/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com