我有以下数据集:
Date<-c("9/7/2010","9/7/2010","9/7/2010",
        "9/7/2010","9/7/2010","9/7/2010","9/8/2010")
EstimatedQuantity<-c(3535,2772,3279,3411,3484,3274,3305)
ScowNo<-c("4001","3002","4002","BR 8","4002","BR 8","4001")
dataset<- data.frame(EstimatedQuantity,Date,ScowNo)
我正在尝试将数据集转换为列联表,然后再转换回常规数据框:
xtabdata<-as.data.frame.matrix(xtabs(EstimatedQuantity~Date+ScowNo,
                                     data=dataset),
                               row.names=(dataset$Date),optional=F)
我正在尝试根据另一列中的值添加一个新列。(基本上如果另一列缺失或为 0,则将新值设置为 0 或为 1)
下面这段代码有什么问题?
times=nrow(eachfile)
for(i in 1:times)
{eachfile$SalesCycleN0[i] <- ifelse(eachfile$R[i]==NA | eachfile$R[i]==0,0,1 ) }
table(eachfile$SalesCycleN0)
我也希望看到每个bin的实例数量也显示在图表上
set.seed(1)
x<-rnorm(1:100)
hist(x)
Q <- c(1,2,3,4)
我想这样做,以便向量中的每个值乘以它的向量数.这样1*1, 2*2, 3*3, 4*4
我有一个大型数据框(大约1,000行和30,000列),如下所示:
   chr pos  sample1 sample2 sample3 sample 4
    1 5050    1       NA      0       0.5
    1 6300    1       0       0.5     1
    1 7825    1       0       0.5     1
    1 8200    0.5     0.5     0       1
在给定的"chr"和"pos"处,给定样品的值可以采用0,0.5,1或NA的形式.我需要执行大量查询,这需要根据每个样本的值的摘要对数据帧进行子集化和排序.
我想得到每列给定值(例如0.5)的出现次数,并将其保存为数据框中的新行.我的最终目标是能够使用新行的值来子集和/或排序我的数据框的列.我已经看到了有关计算事件的类似问题,但我似乎无法找到/识别在所有列中同时执行此操作的解决方案,并将特定值的列方计数保存为新行.
我需要一个将输入作为字符串(BLANK)并打印出以下内容的函数:
"Hello BLANK World"
即,世界("七")打印出来 "Hello seven World"
我对如何使用R中的字符串感到困惑.
我有一个正常工作的GLM Logit回归,但是当我向GLM命令添加一个子集参数时,我收到以下错误:
invalid type (list) for variable '(weights)'.
因此,以下命令有效:
glm(formula = A ~ B + C,family = "binomial",data = Data)
但是以下命令会产生错误:
glm(formula = A ~ B + C,family = "binomial",data = Data,subset(Data,D<10))
(我意识到在没有看到我的数据的情况下可能很难回答这个问题,但是对于可能导致我的问题的任何一般性帮助将不胜感激)
我对R很新,并且已经在网上找到了一个解决方案并且没有找到任何可以帮助我的东西.
关于从for循环创建的绘图我有一个问题.我想在3x2网格中创建六个图形,其中所有图形一起显示,其中每个图形都以数据的列标签作为其标题.然而,似乎R不会创建6但是图形数量的两倍,而其中6个具有错误的标题(例如,系列R [,i]而不是DJINDUS).
我的数据集(这是一个名为"R"的矩阵)看起来如下并且有几千行:
         DJINDUS       GSCITOT      NASCOMP       DJTRSPT       DJUTILS     PORTFOLIO
 [1,] -0.0051797207  0.0038918968 -0.014959142 -0.0100216161  0.0025465706 -0.0047444023
 [2,]  0.0103448153 -0.0023765810  0.013946279  0.0164086084  0.0073205395  0.0091287322
 [3,]  0.0038053079 -0.0131512085  0.004045313 -0.0046264989  0.0053159370 -0.0009222299
 [4,]  0.0234136525 -0.0107384963  0.013765670  0.0120004619  0.0099954557  0.0096873488
 [5,] -0.0019038671 -0.0064305092  0.006087090  0.0026823416  0.0046855706  0.0010241253
 [6,]  0.0103801289  0.0012181536  0.009976454  0.0081995006  0.0015569907  0.0062662457
 [7,] -0.0005007307  0.0075137168  0.004886162  0.0041719526 -0.0009155833  0.0030311035
 [8,]  0.0058533353  0.0066382973  0.003438548  0.0047356660  0.0011900949  0.0043711882
 [9,]  0.0058077604  0.0080331085  0.003620382  0.0058304700 -0.0024733215  0.0041636798
[10,] -0.0039335841  0.0120232095  0.006624884  0.0074794664 -0.0043200582  0.0035747834 …我不知道是否有这个功能,但我有3个不同长度的数据帧.我想知道是否有办法找到哪一个是最大长度并将其加载到变量中.例如:
x <- c(1:10)
y <- c(1:20)
z <- c(1:40)
我想使用z作为我的变量,因为它具有最长的长度.有没有一个函数可以搜索这三个变量(x,y,z)并给我一个长度最长的变量?
谢谢
我想遍历一个列表并使用它的第 n 个元素,但该列表可以为空:
l <- list()
for(i in 1:length(l)) a <- l[[i]]
如果列表有 1 个元素,则一切正常。但如果列表为空,则 length(l) 等于 0,因此循环将尝试运行两次并将 i 从 1 倒数到 0。这会引发错误,因为l[[1]]不存在:
> Error in l[[i]] : subscript out of bounds
有没有比检查 length(l) 是否大于零更好的方法来跳过 for 循环?