小编Mar*_*rek的帖子

将变量名传递给 r 中的函数

是否可以在函数调用中仅传递变量名并在函数中使用它?

\n\n

伪代码:

\n\n
q<-function(A){\n    b<-(w%in%A.2|w%in%A.7)  \n    factor(b,levels=c(F,T),labels=c("non-"A,A))}\n\n\nw<-c(0:10)\ne.2<-c(1,2)\ne.7<-c(6,7)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我\xc2\xb4d 喜欢做的是

\n\n
q(e)\n
Run Code Online (Sandbox Code Playgroud)\n\n

并已返回

\n\n

非 e,e,e,非 e,非 e,e,e,非 e,非 e

\n\n

//M

\n\n
\n\n
q<-function(A) {\n    a2<-get(paste(a,".2",sep=""))\n    a7<-get(paste(a,".7",sep=""))\n    b<-(w%in%a2|%in%a7) \n    factor(b,levels=c(F,T),labels=c(paste("non-",a,sep=""),a)) \n}\n\nq("e")\n
Run Code Online (Sandbox Code Playgroud)\n\n

谢谢,

\n\n

中号

\n

variables r function

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

相同的回归,不同的统计数据(R诉SAS)?

我在SAS和R中运行了相同的概率回归,而我的系数估计值(基本上)是等效的,报告的测试统计数据是不同的.具体而言,SAS将测试统计报告为t统计,而R将测试统计报告为z统计.

我检查了我的计量经济学文本,发现(很少详细说明)它以t统计数据报告了probit结果.

哪个统计数据合适?为什么R与SAS不同?

这是我的SAS代码:

proc qlim data=DavesData;
 model y = x1 x2 x3/ discrete(d=probit);
run;
quit;
Run Code Online (Sandbox Code Playgroud)

这是我的R代码:

> model.1 <- glm(y ~ x1 + x2 + x3, family=binomial(link="probit"))
> summary(model.1)
Run Code Online (Sandbox Code Playgroud)

r sas

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

重复操作x次并在向量中捕获结果

如果我有一个包含随机性的操作(让我们调用它operation_with_randomness(number)),我希望它运行x次

> b <- rep(operation_with_randomness(number), x)
Run Code Online (Sandbox Code Playgroud)

我明白了

> b 
1.5472491 1.5472491 1.5472491 1.5472491 1.5472491 1.5472491 ...
Run Code Online (Sandbox Code Playgroud)

是否有任何智能方法(例如,不是循环结构)operation_with_randomness(number)每次运行以获得一个b向量,其中包含来自x个单独运行的值?

r

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

R,如何堆叠和保留因子

R问题:如何堆叠两列或更多列数字保留一个因子

data.frame喜欢这样的:

patient analyte1value analyte2value analyte3value  
pt1 1 3 5  
pt2 2 6 7  
pt3 9 10 2  
...  
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用stack(select=c(columnnames)),但我失去了耐心因素.

我想出去:

pt1 1 analyte1  
pt1 3 analyte2  
pt1 5 analyte3  
pt2 2 analyte1  
pt2 6 analyte2  
...
Run Code Online (Sandbox Code Playgroud)

(我有一种潜在的怀疑,我需要plyr或类似的......)

谢谢.

r

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

r中的递归采样

我试图模拟死亡超过7年的累积概率如下:

tab <- data.frame(id=1:1000,char=rnorm(1000,7,4))

cum.prob <- c(0.05,0.07,0.08,0.09,0.1,0.11,0.12)
Run Code Online (Sandbox Code Playgroud)

如何tab$id根据累积概率以矢量化方式从无需替换的样本中进行采样cum.prob?从年1开始采样的ids不一定能在2年内再次采样.因此,lapply(cum.prob,function(x) sample(tab$id,x*1000))它不起作用.有可能对此进行矢量化吗?

//中号

r sampling

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

如何在ggplot2对象的每个面上放置相同的光滑?

这是一个例子:

eg <- data.frame(x = c(1:50, 50:1),  
                 y = c(1:50, 1:50) + rnorm(100),  
                 g = rep(c("a","b"), each=50))  

qplot(x, y, data = eg) +  
  facet_wrap(~ g) +  
  geom_smooth()  
Run Code Online (Sandbox Code Playgroud)

我希望能够在两个方面绘制整体平滑度以及具有小平面特定的平滑度.

编辑:这是一种方式.

my.smooth <- gam(y ~ s(x), data = eg)
my.data <- data.frame(x = 1:50)                                           
my.data$y <- predict(my.smooth, newdata = my.data) 

qplot(x, y, data = eg) + 
    facet_wrap(~ g) + 
    geom_smooth() + 
    geom_smooth(data = my.data)
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

安德鲁

plot r facet ggplot2

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

如何grep这个而不是那个?

我试图从list.files返回一个文件名,但有2个类似命名的文件. filename.csv filename_review.csv

我想将每个文件名放入自己的列表中.这样做filename_review.csv很容易,因为它有独特的东西,但我如何筛选出另一个呢?我需要grep(".csv", list.files())filename_review.csv返回.

regex r

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

如何读取R中缺少末尾元素的矩阵?

我想传递一个带矩阵的R txt文件,其中从行中省略拖尾零(除了第一个拖尾零,如果有的话).那些缺失的值被视为零.

例如:

8 7 0
5 4 3 2 1
4 8 9
Run Code Online (Sandbox Code Playgroud)

应该理解为:

8 7 0 0 0
5 4 3 2 1
4 8 9 0 0
Run Code Online (Sandbox Code Playgroud)

在读取矩阵之前,最大行大小(即矩阵列的数量)是未知的.

r matrix

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

结合条件

我的重新编码尝试

df$test[(df$1st==(1:3) & df$2nd <= 4)] <- 1
df$test[(df$1st==(1:3) & df$2nd <= 5)] <- 2
df$test[(df$1st==(1:3) & df$2nd <= 6)] <- 3
Run Code Online (Sandbox Code Playgroud)

导致"longer object length is not a multiple of shorter object length"警告和大量的NA以s df$test,即使一些重新编码正常工作.
我错过了什么?任何帮助赞赏.

DW

r

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

xtable标题中的标签,用于lyx中的交叉引用

我正在使用pgfsweave与Lyx 1.6.8和xtable.提供表格标题

<<result=tex>>=
print(xtable(<dataframe>,caption="Here is my caption"))
@.
Run Code Online (Sandbox Code Playgroud)

如何在表格标题中插入标签,我可以在lyx>插入>交叉引用菜单的文本中进行交叉引用?

我试图插入>浮>表和插入 print(xtable(<dataframe>,floating=FALSE))"Here is my caption"在表标题内框架但是这导致(字面意思):

[?oat Table:
<...Table ...>
[Table 2: "Here is my caption" ] ]
Run Code Online (Sandbox Code Playgroud)

甚至是赤脚的交叉引用解决方法

<<result=tex>>=
print(xtable(<dataframe>,caption="Here is my caption",label = "tab:one"))
@
Run Code Online (Sandbox Code Playgroud)

来自ERT-box会有所帮助.

lyx sweave xtable

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

标签 统计

r ×9

facet ×1

function ×1

ggplot2 ×1

lyx ×1

matrix ×1

plot ×1

regex ×1

sampling ×1

sas ×1

sweave ×1

variables ×1

xtable ×1