【问题标题】:R: Matrix and VectorsR:矩阵和向量
【发布时间】:2018-02-20 01:20:54
【问题描述】:

给了我一定量的数据以放入矩阵和向量中。这是一个 11 列 10 行的 csv 文件。我需要矩阵 A 是第一个 10x10,向量 b 是最后一列。我还需要解决 Ax = b。我对我应该做什么有点麻烦。我是一个非常新的程序员,但有 C 和 SQL 的背景。对于如何改进编码的任何批评,我将不胜感激。

read.csv("p5.csv") //dealing with the csv file
data = read.csv("p5.csv")

x = read.csv("p5.csv", header = FALSE)
A = matrix(x, nrow = 10, ncol = 10) //my poor attempt to set the required 
dimensions
b = matrix(x, nrow = 10, ncol = 1) //poor attempt to set up vector

从这里我知道我需要使用 vector inverse 来解决 Ax = b。但我不确定我是否走在正确的轨道上。

【问题讨论】:

  • 你需要用类似A = x[1:10, ]; b = x[11,] 的东西subset x 然后使用solve 来解方程。查看帮助页面?solve
  • 您对行和列的描述似乎不一致。您说数据有 11 个 但只有 10 列,然后转身说您希望 b 成为数据的第 11 个 column。是哪个?
  • 如果您设置header = FALSE,那么使用更通用的read.table 可能会更好。如果值用逗号分隔,您将设置sep = ','

标签: r csv matrix vector


【解决方案1】:

您需要做一些基本的子集设置。查看一些 R 入门课程。例如,您可以使用 swirl (http://swirlstats.com/) 在 R 中学习 R。

data <- read.csv("p5.csv")
A <- data[,1:10]
b <- data[,11]

【讨论】:

  • 谢谢,这很有帮助。我们还没有学会如何做到这一点。感谢您的链接!
猜你喜欢
  • 2014-02-22
  • 2020-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-23
  • 1970-01-01
  • 2016-12-25
相关资源
最近更新 更多