gpt4 book ai didi

r - R包 reshape 函数融化错误:使用许多因素时,在数据中找不到id变量

转载 作者:行者123 更新时间:2023-12-03 20:49:14 31 4
gpt4 key购买 nike

我正在使用mothur的稀有度输出,这基本上给了我一个数据集,其中包含采样的序列数和几个采样中的唯一序列数。我想使用ggplot2可视化此数据,因此需要使用meltwide转换为long格式。

问题是由于melt错误,我找不到任何方法可以使此工作。基本上说


错误:在数据中找不到ID变量:1、3、6,(...等)


由于原始数据集的大小,因此在此处共享它是不切实际的,但是应该可以使用以下代码来重新创建相同的问题:

a<-seq(0,300,3)
b<-runif(length(a))
c<-runif(length(a))
d<-as.data.frame(cbind(a,b,c))
d$a<-as.factor(d$a)
melt(d,d$a)


给出完全相同的错误:


错误:在数据中找不到ID变量:0、3、6、9,(...)


我看不到我在做什么错。我在ubuntu服务器12.04上使用R 2.15.1。函数 reshape::meltreshape2::melt都导致相同的错误。

最佳答案

您应该使用:

melt(d, id.vars="a")
a variable value
1 0 b 0.019199459
2 3 b 0.693699677
3 6 b 0.937592641
4 9 b 0.299259963
5 12 b 0.485403439
...




?melt.data.frame的帮助下:


数据
数据框融化

id.vars
id变量的向量。可以是整数(可变位置)或
字符串(变量名)如果为空,将使用所有非测量变量


因此,您的 id.vars参数应该是名称的字符向量,例如“ a”或数字矢量,例如 1。此向量的长度应等于您想要用作ID的列数。

取而代之的是,您使用的因素所包含的元素远远超过数据中的列。

关于r - R包 reshape 函数融化错误:使用许多因素时,在数据中找不到id变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12320198/

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