abn*_*abn 40 csv plot r matrix ggplot2
我正在尝试使用csv文件的元素创建一个图,如下所示:
h1,h2,h3,h4
a,1,0,1,0
b,1,1,0,1
c,0,0,1,0
Run Code Online (Sandbox Code Playgroud)
我尝试了以下代码,但收到错误说
Error in data.frame(id = varieties, attr(mat, "row.names"), check.rows = FALSE) :
arguments imply differing number of rows: 8, 20
Run Code Online (Sandbox Code Playgroud)
我的示例数据有8列和20行(不包括标题和行名称).我尝试在线查找并尝试实施一些修复,但问题仍然存在.我真的很感激任何帮助.
mat <- read.csv("trial.csv", header=T, row.names=1)
varieties = names(mat)
df <- data.frame(id=varieties,attr(mat, "row.names"), check.rows= FALSE)
Run Code Online (Sandbox Code Playgroud)
EDi*_*EDi 30
您的data.frame mat是矩形的(n_rows!= n_cols).
因此,您无法data.frame从列和列表中删除,因为data.frame中的每列必须具有相同的长度.
也许这足以满足您的需求:
require(reshape2)
mat$id <- rownames(mat)
melt(mat)
Run Code Online (Sandbox Code Playgroud)
Jos*_*tte 10
虽然这不是您问题的直接答案,但我刚刚遇到了类似的问题,并认为我已经提到过:
我有一个实例,它正在为 data.frame(递归搜索的结果)实例化一个新的(毫无疑问非常低效)记录,它给了我同样的错误。
我有这个:
return(
data.frame(
user_id = gift$email,
sourced_from_agent_id = gift$source,
method_used = method,
given_to = gift$account,
recurring_subscription_id = NULL,
notes = notes,
stringsAsFactors = FALSE
)
)
Run Code Online (Sandbox Code Playgroud)
原来......它是= NULL。当我切换到 = NA 时,它运行良好。以防万一有类似问题的其他人像我一样点击这篇文章。
我有相同的错误消息所以我google了一点我设法使用以下代码修复它.
df<-data.frame(words = unlist(words))
Run Code Online (Sandbox Code Playgroud)
单词是一个字符列表.
这是为了防止其他人需要输出作为数据帧.