小编flo*_*del的帖子

如何在R中绘制时钟?

我正在研究R并尝试使用饼图绘制时钟.

码:

pie(c(25,20,15,10,10,30),
    labels = c(1,2,3,4,5,6,7,8,9,10,11,12),
    col = rainbow(length(lbls)), clockwise = TRUE, init.angle = 90)
Run Code Online (Sandbox Code Playgroud)

但我需要所有12个标签独立于输入中没有任何段.

在此输入图像描述

我该如何实现它?

问候

r pie-chart

1
推荐指数
2
解决办法
2009
查看次数

交叉产品矩阵意外地充满了NA

所以我从CSV中获取了一些信息,将其存储为矩阵,并试图在结果上计算以下操作,但它给了我一个2x2的NA数组.没有在这里看到问题.

data <- read.csv('qog.csv', sep=';')
X <- matrix( log( data$wdi_gnipc ) )
X <- cbind(X, data$ciri_empinx_new)
t(X) %*% X
Run Code Online (Sandbox Code Playgroud)

当我看到X和t(X)时,它们看起来就像我期望的那样,所以我将2xn矩阵与nx2矩阵(n是像193这样的大数字)进行矩阵乘法,因此矩阵乘积应该很好 - 定义并给出有意义的2x2答案.

什么想法可能会出错?

注意:我试试的时候

a < - rbind(c(1,2),c(3,4))t(a)%*%a

它给出了期望的结果.不确定它与我正在对数据做什么之间的重要区别.

r matrix

1
推荐指数
1
解决办法
227
查看次数

将参数传递给矩阵每行的函数

我创建了这个函数:

nDone<- function (under,strike,ttoe,vol,rf,dy) {
    return(pnorm(((log(under/strike) + (rf-dy+(vol^2)/2)*ttoe)/(vol*(ttoe^0.5)))))
 }

nDone(90,100,3,0.17,0.05,0)
[1] 0.6174643
Run Code Online (Sandbox Code Playgroud)

到目前为止,这很好并且有效.现在我想将函数应用于矩阵的每一行.

b<- c(90,95,100,100,3,2,0.17,0.18,0.05,0.05,0,0)
dim(b) <- c(2,6)
Run Code Online (Sandbox Code Playgroud)

这使:

     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]   90  100    3 0.17 0.05    0
[2,]   95  100    2 0.18 0.05    0
Run Code Online (Sandbox Code Playgroud)

所以现在我想将每行中的元素传递给函数.我尝试过使用申请:

apply(b,1,nDone)
Run Code Online (Sandbox Code Playgroud)

并得到以下错误:

Error in under/strike : 'strike' is missing
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

lapply(b,nDone)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Error in under/strike : 'strike' is missing
Run Code Online (Sandbox Code Playgroud)

我想要的是该功能的多个结果.我在这做错了什么?

r

0
推荐指数
1
解决办法
2386
查看次数

清洁矢量与发生在系列中的元素

提供如下矢量,

vec01 <- c(1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 1, 2, 1,
           2, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 2, 2,
           1, 2, 2, 1, 1, 2, 3, 4, 1, 1, 1, 1, 1, 1, 1, 2, 3, 4, 5, 1, 1, 1,
           2, 1, 2, 3, 4, 2, 1, 1, 1, 1, 1, …
Run Code Online (Sandbox Code Playgroud)

r

0
推荐指数
1
解决办法
123
查看次数

更好地形成子集数据的平均值

我有一个数据集:

    X     Y
   20     12
   24     11
   12      7
   10      2
   41     24
   13      9
   50     17
    4     12
   17     12
   35     19
Run Code Online (Sandbox Code Playgroud)

现在我必须在20 <X <50时找到Y的平均值.

我的尝试:

     data <- data.frame(X=c(20,24,12,10,41,13,50,4,17,35),
                        Y=c(12,11,7,2,24,9,17,12,12,19))
     sub <- subset(data,X>20 & X<50)
     mean(sub$Y)
Run Code Online (Sandbox Code Playgroud)

有没有直接的方法在20 <X <50时找到Y的平均值而不修改原始数据框,即没有子集呢?

r dataframe

0
推荐指数
1
解决办法
136
查看次数

标签 统计

r ×5

dataframe ×1

matrix ×1

pie-chart ×1