我有一个数据框"z"
letter color
1 a 0
2 e 0
3 b 0
4 b 0
5 d 0
6 d 0
7 a 0
8 b 0
9 c 0
10 d 0
11 c 0
12 c 0
13 c 0
14 c 0
15 e 0
16 e 0
17 a 0
18 d 0
19 e 0
20 b 0
Run Code Online (Sandbox Code Playgroud)
和另一个数据框"y"
letter color
1 a red
2 b blue
3 c green
Run Code Online (Sandbox Code Playgroud)
当z中的字母与y中的字母匹配时,我想将y中的颜色附加到z中的相应颜色字段中,但我不想从z中删除任何值.如果没有匹配,z $ color应保持不变.我使用"0"作为z $颜色的占位符,这可能是文本而不是.
我一直在尝试for循环,match()命令和%in%的语句,但我还没有完全达到我想要的结果. …
我正在寻找一种组合两个矩阵的通用方法,以便两个初始矩阵中的列在新矩阵中交替
col1m1 ... col1m2 ... col2m1 ... col2m2 ... col3m1 ... col3m2 ......
例如:
matrix.odd <- matrix(c(rep(1,3),rep(3,3),rep(5,3)),nrow=3,ncol=3)
matrix.even <- matrix(c(rep(2,3),rep(4,3),rep(6,3)),nrow=3,ncol=3)
# would look like
matrix.combined <- matrix(c(rep(1,3),rep(2,3),rep(3,3),rep(4,3),rep(5,3),rep(6,3)),
nrow=3,ncol=6)
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种通用方法,因为我将使用超过3列的矩阵组合.我已经尝试了一些for循环和一些if语句,但它并没有真正为我而来.关于将矩阵与随机和交替相结合的搜索也没有被证明是富有成效的.有什么想法吗?
我的数据框的一列有单词和短语.我正在尝试为此列中的那些字段创建一个虚拟变量,其中包含特定的文本字符串.
例如:
世界汽车
myvector<-c("kite","cars","box kites","model cars","i like kites that fly",
"cars of the world")
Run Code Online (Sandbox Code Playgroud)我想用字符串"kite"识别所有字段
我已经尝试了一些东西,比如any(),which()和%in%但至今没有奏效.
任何帮助非常感谢
这似乎是一项简单的任务,但我在执行它时遇到了困难,并且找到了如何在R中完成它的示例.
我有一个大约75K记录的数据框.一个领域有日期,可以追溯到大约11年.我已经使用以下代码去除小时分钟秒,所以我只有一个月 - 一天
dat$date=round.POSIXt(dat$date,units="day")
Run Code Online (Sandbox Code Playgroud)
我现在正在尝试根据日期创建一个新的字段"FiscalYear",如果日期是在2008-07-01和2009-06-30之间,那么它将在2009-07-01和2010之间分配给... 06-30被分配到2010财年等......
我一直在尝试的方法是使用ifelse> = && <=来设置日期范围,但这不起作用.有什么想法吗?
我创建了以下代码,将 for 循环嵌套在 R 中的 for 循环内。它是计算 Power 的模拟。我读到 R 不太适合执行 for 循环,但我想知道是否可以应用任何效率来使其运行得更快一些。我对 R 以及任何类型的编程都很陌生。现在我看到的运行时间是:
m=10 我得到 0.17 秒
m=100 我得到 3.95 秒
m=1000 我得到 246.26 秒
m=2000 我得到 1003.55 秒
我希望将采样次数设置为 100K 以上,但恐怕甚至无法将其设置为 10K
这是代码:
m = 1000 # number of times we are going to take samples
popmean=120 # set population mean at 120
popvar=225 # set known/established population
variance at 225
newvar=144 # variance of new methodology
alpha=.01 # set alpha
teststatvect = matrix(nrow=m,ncol=1) # empty vector …Run Code Online (Sandbox Code Playgroud) 我创建了一个 8 x 1000 的 Exp() 变量矩阵。这表示从指数分布中采样 8 次的 1000 次迭代(列)。我想弄清楚如何获得每列中小于临界值的值的百分比。所以我最终得到了一个 1000 百分比的向量。我已经尝试了几件事,但对 R 来说仍然相对较新,我遇到了一些困难。
这是我当前版本的代码,不太有效。当我想要样本的均值或方差时,我使用了 apply 函数(没有 for 循环),所以我一直在尝试这种方法,但这个百分比似乎需要一些不同的东西。有什么想法吗?
m=1000
n=8
theta=4
crit=3
x=rexp(m*n,1/theta)
Mxs=matrix(x,nrow=n)
ltcrit=matrix(nrow=m,ncol=1)
for(i in 1:m){
lt3=apply(Mxs,2,length(which(Mxs[,i]<crit)/n))
}
ltcrit
Run Code Online (Sandbox Code Playgroud)