我知道有一种简单的方法可以做到这一点......但是,我无法弄明白.
我的R脚本中有一个数据帧,如下所示:
A B C
1.2 4 8
2.3 4 9
2.3 6 0
1.2 3 3
3.4 2 1
1.2 5 1
Run Code Online (Sandbox Code Playgroud)
请注意,A,B和C是列名.而我正试图得到这样的变量:
sum1 <- [the sum of all B values such that A is 1.2]
num1 <- [the number of times A is 1.2]
Run Code Online (Sandbox Code Playgroud)
有什么简单的方法吗?我基本上想要得到一个如下所示的数据框:
A num totalB
1.2 3 12
etc etc etc
Run Code Online (Sandbox Code Playgroud)
其中"num"是特定A值出现的次数,"totalB"是给定A值的B值之和.
我试图检索数据框中存在的特定列中最重复的值.这是我的示例数据和代码如下.
data("Forbes2000", package = "HSAUR")
head(Forbes2000)
rank name country category sales profits assets marketvalue
1 1 Citigroup United States Banking 94.71 17.85 1264.03 255.30
2 2 General Electric United States Conglomerates 134.19 15.59 626.93 328.54
3 3 American Intl Group United States Insurance 76.66 6.46 647.66 194.87
4 4 ExxonMobil United States Oil & gas operations 222.88 20.96 166.99 277.02
5 5 BP United Kingdom Oil & gas operations 232.57 10.27 177.57 173.54
6 6 Bank of America United States …Run Code Online (Sandbox Code Playgroud) 我试图从数据框架中获得顶级'n'公司.这是我的代码如下.
data("Forbes2000", package = "HSAUR")
sort(Forbes2000$profits,decreasing=TRUE)
Run Code Online (Sandbox Code Playgroud)
现在我想从这个有序向量中获得前50个观测值.
有没有办法使用data.frame而不破坏列名?
我有以下结构:
$`Canon PowerShot`
[1] 9.997803e-01 9.997318e-01 3.327920e-01 3.327920e-01 9.988220e-01
[6] 4.030871e-05 4.928497e-05
$`Casio Exilim`
[1] 5.322024e-06 9.999646e-01 5.322024e-06 5.322024e-06 9.999646e-01
[6] 5.322024e-06 9.999646e-01
$FinePix
[1] 3.850036e-05 9.998887e-01 6.650074e-02 6.650074e-02 9.998465e-01
[6] 9.998465e-01 4.345598e-05
$`Kodak EasyShare`
[1] 3.548812e-05 9.998604e-01 3.996137e-01 3.996137e-01 9.987841e-01
[6] 3.179604e-05 2.789861e-05
$`Nikon Coolpix series`
[1] 9.156401e-02 9.998091e-01 1.995972e-01 1.995972e-01 9.996341e-01
[6] 7.033741e-05 8.499410e-05
Run Code Online (Sandbox Code Playgroud)
但使用后do.call(data.frame, my_list),我明白了:
Canon.PowerShot Casio.Exilim FinePix Kodak.EasyShare
1 9.997803e-01 5.322024e-06 3.850036e-05 3.548812e-05
2 9.997318e-01 9.999646e-01 9.998887e-01 9.998604e-01
3 3.327920e-01 5.322024e-06 6.650074e-02 3.996137e-01 …Run Code Online (Sandbox Code Playgroud) 我有一个data.table包含一些组.我操作每个组,一些组返回数字,其他组返回NA.出于某种原因data.table,将所有东西重新组合起来很麻 这是一个错误还是我误解了?这是一个例子:
dtb <- data.table(a=1:10)
f <- function(x) {if (x==9) {return(NA)} else { return(x)}}
dtb[,f(a),by=a]
Error in `[.data.table`(dtb, , f(a), by = a) :
columns of j don't evaluate to consistent types for each group: result for group 9 has column 1 type 'logical' but expecting type 'integer'
Run Code Online (Sandbox Code Playgroud)
我的理解是NA与R中的数字兼容,因为显然我们可以拥有data.table具有NA价值的数字.我意识到我可以返回NULL,这将工作正常,但问题是NA.
有谁知道Scala-GWT项目的现状?
作为主要作者的Grzegorz Kossakowski似乎已退出该项目,以便在春季开展scalac工作.
不过,他在2011年11月的一次采访中表示
我希望下一个版本是0.1,然后才会积极鼓励人们尝试实际项目.这个版本应该会在几周内发生(肯定会在圣诞节前).
在我看来,Scala-GWT是一个非常有前景的项目,因为它补充了Scala的Play2 - Play是使用轻量级无状态架构创建应用程序时的首选框架,而Scala-GWT是富客户端应用程序的框架.
我正在努力研究R中的coxme包.我想使用像survfit()这样的函数 - 通常用于coxph()模型的方法 - 绘制调整后的生存曲线并找出不同参数值下的中位生存期.
如果我使用没有随机效果的coxph来拟合模型,我可以执行以下操作:
library(KMsurv)
data(burn)
my.surv <- with(burn, Surv(T1, D1))
cox_nr = coxph(my.surv ~ Z1 , data = burn)
survfit(cox_nr, newdata = data.frame(Z1 =1))
Run Code Online (Sandbox Code Playgroud)
这提供了生存估计.但如果我与coxme适合相同的模型:
library(coxme)
cox_r = coxme(my.surv ~ Z1 + (1|Z11), data = burn)
survfit(cox_r, newdata = data.frame(Z1 = 1))
Run Code Online (Sandbox Code Playgroud)
UseMethod中的错误("幸存",公式):没有适用于"幸运"的方法应用于类"coxme"的对象
所以survfit.coxme似乎不存在,从阅读coxme包文档,我没有看到一个等价物.我试图做的事情是否存在根本错误?如果没有,我怎样才能获得这些估算?
我有一个R脚本,我想部署,以便它是白痴,单击运行等等.不幸的是我没有办法支付服务器,它需要运行的环境不允许安装新软件,只能运行便携式应用程序.(学校计算机)我的脚本也依赖于几个非基础包.
有没有办法以易于运行的方式部署R和我的脚本,以便它可以在usb棒上使用?
我有一个由一组点组成的数据集.这些点以这样一种方式分布在飞机上,即它们可以用抛物线大致界定.我试图找到一种方法将抛物线拟合到点的边界.
这就是我目前所拥有的:
a = 1
b = 2
c = 3
parabola <- function(x) {
a * x^2 + b * x + c
}
N = 10000
x <- runif(N, -4, 3)
y <- runif(N, 0, 10)
data <- data.frame(x, y)
data <- subset(data, y >= parabola(x))
plot(data, xlim = c(-5, 5), ylim = c(0, 10), col = "grey")
fr <- function(x) {
PAR = x[1] * data$x^2 + x[2] * data$x + x[3]
#
sum((PAR - data$y)^2 + …Run Code Online (Sandbox Code Playgroud) 我正在用下面的代码绘制一系列的手段和标准偏差,我正在尝试使用geom_ribbon来显示sd,见下文.
由于重要的重叠,我想为色带添加一个边框,这个色带与相应的变量颜色相同但是是一条虚线,但我无法弄清楚代码中的哪个位置.我知道"color"和"linetype"命令以某种方式涉及......
谢谢!
graph.msd <- ggplot(data=g.data, aes(x=quarter,y=mean,group=number))
graph.msd <- graph.msd + geom_line(aes(colour = number),size=1)+geom_ribbon(aes(ymin=mean-sd,ymax=mean+sd,fill=number),linetype=2,alpha=0.1)
Run Code Online (Sandbox Code Playgroud)