如何计算没有名称的列的线性回归?我有一个名为 lindat.csv 的文件,如下所示:
1,2
2,4
3,6
4,8
我尝试这样做,但索引部分似乎在回归中不起作用。
\begin{figure}[!h]
\begin{tikzpicture}
\begin{axis}[
xlabel={X axis},
ylabel={Y axis}
]
\addplot [black, thin, dashed]
table [
x index=0,
y={create col/linear regression={y= index=1}},
col sep=comma]
{data/lindat.csv};
\addplot [only marks]
table [,
x index=0,y index=1
col sep=comma
]
{data/lindat.csv};
\end{axis}
\end{tikzpicture}
\caption{}
\label{fig:graph1}
\end{figure}
答案1
\documentclass[border = 5pt]{standalone}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.14}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xlabel={X axis},
ylabel={Y axis}
]
\addplot [black, thin, dashed]
table [
x index=0,
y={create col/linear regression},
col sep=comma]
{data/lindat.csv};
\addplot [only marks]
table [,
x index=0,y index=1,
col sep=comma
]
{data/lindat.csv};
\end{axis}
\end{tikzpicture}
\end{document}
答案2
更一般地,要通过索引选择任何列,您可以使用索引的y={create col/linear regression={y=[index]#}
位置。#
\documentclass[border = 5pt]{standalone}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.14}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xlabel={X axis},
ylabel={Y axis}
]
\addplot [black, thin, dashed]
table [
x index=0,
y={create col/linear regression={y=[index]1}},
col sep=comma]
{data/lindat.csv};
\addplot [only marks]
table [,
x index=0,y index=1,
col sep=comma
]
{data/lindat.csv};
\end{axis}
\end{tikzpicture}
\end{document}