使用 R 绘图将数据框转换为表格?

Sci*_*ist 1 r dataframe plotly

我很难理解 R 中绘图表的工作原理。我不是一个经验丰富的程序员,因此我的问题可能看起来很天真。

请考虑以下数据框:

data<-data.frame(
SeqName=c("1", "2", "3", "4", "5", "6"),
Length=c("440", "511", "1087", "686", "867", "632"),
Cys=c("3", "2", "2", "2", "2", "4"),
NT=c("[NA]", "[B]", "[B]", "[B]", "[B]", "[B]"),
NR=c("[NA]", "[B][M]", "[B]", "[B][M]", "[B][M]", "[NA]"),
RefSeq=c("[NA]", "[B][M]", "[B]", "[B][M]", "[B][M]", "[NA]")
)
Run Code Online (Sandbox Code Playgroud)

我可以使用以下命令创建等效的绘图表:

plot_ly(
    type = 'table',
    header = list(
        values = list(list('<b>SeqName<b>'),
                      list('<b>Length<b>'),
                      list('<b>Cys<b>'),
                      list('<b>NT<b>'),
                      list('<b>NR<b>'),
                      list('<b>RefSeq<b>'))),
        cells = list(values = list(
        c("1", "2", "3", "4", "5", "6"),
        c("440", "511", "1087", "686", "867", "632"),
        c("3", "2", "2", "2", "2", "4"),
        c("[NA]", "[B]", "[B]", "[B]", "[B]", "[B]"),
        c("[NA]", "[B][M]", "[B]", "[B][M]", "[B][M]", "[NA]"),
        c("[NA]", "[B][M]", "[B]", "[B][M]", "[B][M]", "[NA]"))))
Run Code Online (Sandbox Code Playgroud)

但是,我无法直接跳跃。例如,我无法使以下内容正常工作:

plot_ly(type = 'table', header = list(values=names(data)), cells=list(list(values=data)))
Run Code Online (Sandbox Code Playgroud)

请问有人能解释一下为什么吗?提前致谢。

Jam*_*mes 6

似乎plot_ly只需要为 cells 参数提供的列表的 value 参数提供一个未命名列表,因此您可以通过在unnamedata.frame 上使用来将其传递给它:

plot_ly(type="table",header=list(values=names(data)), cells=list(values=unname(data))) 
Run Code Online (Sandbox Code Playgroud)