我有一个调查文件,其中行是观察和列问题。 以下是一些假冒的数据 : People,Food,Music,People P1,Very Bad,Bad,Good P2,Good,Good,Very Bad P3,Good,Bad,Good P4,Good,Very Bad,Very Good P5,Bad,Good,Very Good P6,Bad,Good,Very Good 我的目标是用ggplot2创build这种情节。 我绝对不在乎颜色,devise等 情节不符合假数据 这里是我的假数据: raw <- read.csv("http://pastebin.com/raw.php?i=L8cEKcxS",sep=",") raw[,2]<-factor(raw[,2],levels=c("Very Bad","Bad","Good","Very Good"),ordered=FALSE) raw[,3]<-factor(raw[,3],levels=c("Very Bad","Bad","Good","Very Good"),ordered=FALSE) raw[,4]<-factor(raw[,4],levels=c("Very Bad","Bad","Good","Very Good"),ordered=FALSE) 但是,如果我selectY作为计数,那么我正面临一个关于selectX和组值的问题…我不知道如果我不能使用reshape2 ,我是否能成功…我也厌倦了使用重塑function。 但我不明白如何使用它…
我一直在遇到我认为是一个错误。 这不是什么大问题,但是我很好奇,如果有人看到这个。 不幸的是,我的数据是保密的,所以我不得不做一个例子,这不会是非常有帮助的。 在对数据进行子集化时,偶尔会得到不在我原始数据框中的神秘NA行。 连rownames都是NA。 例如: example <- data.frame("var1"=c("A", "B", "A"), "var2"=c("X", "Y", "Z")) example var1 var2 1 AX 2 BY 3 AZ 然后我运行: example[example$var1=="A",] var1 var2 1 AX 3 AZ NA<NA> <NA> 当然,上面的例子实际上并没有给你这个神秘的NA行, 我在这里添加它来说明我的数据有问题。 也许这与我正在使用Google的read.xlsx包导入我的原始数据集,然后在子集化之前执行wide到long 的整形有关 。 谢谢
我有这样的巨大数据框: SN = c(1:100, 1:100, 1:100, 1:100) class = c(rep("A1", 100), rep("B2", 100), rep("C3", 100), rep("D4", 100)) # total 6000 levels myvar = rnorm(400) mydf = data.frame(SN, class, myvar) 我想“解开”一个表,每个级别的单列和myvar填充: SN A1 B2 C3 D4 ………….and so on for all 6000 我怎么能做到这一点,我知道这是一个简单的问题,但我无法弄清楚。
鉴于这个CSV文件: "A","B","C","D","E","F","timestamp" 611.88243,9089.5601,5133.0,864.07514,1715.37476,765.22777,1.291111964948E12 611.88243,9089.5601,5133.0,864.07514,1715.37476,765.22777,1.291113113366E12 611.88243,9089.5601,5133.0,864.07514,1715.37476,765.22777,1.291120650486E12 我只是想加载它作为matrix/ ndarray 3行7列。 然而,由于某种原因,所有我可以摆脱numpy是一个3行(每行一),没有列的ndarray。 r = np.genfromtxt(fname,delimiter=',',dtype=None, names=True) print r print r.shape [ (611.88243, 9089.5601000000006, 5133.0, 864.07514000000003, 1715.3747599999999, 765.22776999999996, 1291111964948.0) (611.88243, 9089.5601000000006, 5133.0, 864.07514000000003, 1715.3747599999999, 765.22776999999996, 1291113113366.0) (611.88243, 9089.5601000000006, 5133.0, 864.07514000000003, 1715.3747599999999, 765.22776999999996, 1291120650486.0)] (3,) 我可以手动迭代并将其转换成我想要的形状,但这似乎很愚蠢。 我只是想加载它作为一个适当的matrix,所以我可以切片在不同的维度和绘制,就像在MATLAB中。
我试图理解为什么发展从reshape转变为reshape 。 他们似乎在function上是相同的,但是,我现在无法升级到reshape2因为服务器上运行的R版本较旧。 我担心可能会发生一个重大的错误,将发展转向一个全新的scheme,而不是简单地继续发展reshape 。 有谁知道reshape包装有没有重大缺陷?
假设我有一个1×12的matrix,我想把它调整到一个4×3的matrix。 我怎么能这样做? 我目前的解决方法是丑陋的: for n = 1:(length(mat)/3) out(n,1:3) = mat( ((n-1)*3 + 1):((n-1)*3 + 3) ); end 有没有更好的方法来做到这一点?
我有一个很长的数据集,我想扩大,我很好奇,如果有一种方法,在R一步使用reshape2或tidyr包完成这一切。 dataframedf如下所示: id type transactions amount 20 income 20 100 20 expense 25 95 30 income 50 300 30 expense 45 250 我想要得到这个: id income_transactions expense_transactions income_amount expense_amount 20 20 25 100 95 30 50 45 300 250 我知道我可以通过例如reshape2获得部分path: dcast(df, id ~ type, value.var="transactions") 但是,是否有办法一次性重塑整个DF,同时解决“交易”和“金额”两个variables? 理想情况下,新的更适合的列名称?
我有以下数据框架,我想使用转换创build一个“数据透视表”与两个值(值和百分比)的列。 这里是数据框架: expensesByMonth = structure(list(month = c("2012-02-01", "2012-02-01", "2012-02-01", "2012-02-01", "2012-02-01", "2012-02-01", "2012-02-01", "2012-02-01", "2012-02-01", "2012-02-01", "2012-02-01", "2012-02-01", "2012-03-01", "2012-03-01", "2012-03-01", "2012-03-01", "2012-03-01", "2012-03-01", "2012-03-01", "2012-03-01", "2012-03-01", "2012-03-01", "2012-03-01", "2012-03-01", "2012-03-01", "2012-03-01", "2012-03-01", "2012-04-01", "2012-04-01", "2012-04-01", "2012-04-01", "2012-04-01", "2012-04-01", "2012-04-01", "2012-04-01", "2012-04-01", "2012-04-01", "2012-04-01", "2012-04-01", "2012-04-01", "2012-04-01", "2012-04-01", "2012-04-01", "2012-04-01", "2012-04-01", "2012-05-01", "2012-05-01", "2012-05-01", "2012-05-01", […]
我的df看起来像这样: Id Task Type Freq 3 1 A 2 3 1 B 3 3 2 A 3 3 2 B 0 4 1 A 3 4 1 B 3 4 2 A 1 4 2 B 3 我想通过Id重组,并得到: Id AB … Z 3 5 3 4 4 6 我试过了: df_wide <- dcast(df, Id + Task […]
我有一个数据框如下: +—–+——-+ | V1 | V2 | +—–+——-+ | 1 | a,b,c | | 2 | a,c | | 3 | b,d | | 4 | e,f | | . | . | +—–+——-+ 每个字母都是用逗号分隔的字符。 我想在每个逗号分割V2,并插入拆分string作为新的行。 例如,期望的输出将是: +—-+—-+ | V1 | V2 | +—-+—-+ | 1 | a | | 1 | b | | […]