p****e 发帖数: 165 | 1 data set 里有个叫做“dimension”的categorical variable, 里面有各个产品的尺寸
("XL", "LL", "M", "S", "SP") , 现在我想把这个“XL, LL"这两个尺寸合并为“L",
其他的尺寸保持不变,我想用ifelse这样做:
d$dimension_new <- ifelse(d$dimension == 'XL'| d$dimension == 'LL', 'L', d$
dimension)
可是当我列出新变量时,发现尺寸变成“1”,“2”, “3",如下:
>level(dimension_new)
"L" "1" "2" "3"
>head(d)看了一下,果然dimension_new变成"L" "1" "2" "3"
有没有什么办法在ifelse这一步就可以让新变量dimension_new变成:L, M, S, SP ?
我下面要用dimension_new在regression中,不想用"L" "1" "2" "3" ,这样
我还得一个个去校对他们所对应的真... 阅读全帖 |
|
|
p****e 发帖数: 165 | 3 终于work了,原来是要转成character, 原先的是factor. aloud好厉害呀!
再追问一下,我不太理解为什么这里得用%in%, 而不可以用==
我如果没有保留部分原值,全部改,就可以用==了,比如把XL, LL, M, S, SP改成只
有两个level: L, S:
原先dimensioncode是factor,此时不改data type, 还是factor:
d$dimensioncode1 <- ifelse(d$dimensioncode == 'XL'| d$dimensioncode == 'LL',
"L", "S")
非常谢谢! |
|
h**t 发帖数: 1678 | 4 拿到一个code 是从sql翻译过来的, 很繁复。 其中有很多类似于下类这样的分类:
m_prima_total <- ifelse(prima_total <= 557.71, 0,NA)
m_prima_total <- ifelse(prima_total > 557.71 & prima_total <= 763, (prima_
total - 557.71)/(763 - 557.71), m_prima_total)
m_prima_total <- ifelse(prima_total > 763 & prima_total <= 1185.96 , 1, m_
prima_total)
m_prima_total <- ifelse(prima_total > 1185.96 & prima_total <= 1832.04 , (
1832.04-prima_total)/( 1832.04- 1185.96), m_prima_total)
m_prima_total <- ifelse(prima_total > 1832.04 | is.na(prima_t... 阅读全帖 |
|
k*******a 发帖数: 772 | 5 嗯, code 只是考虑比较简单的情形,不过大概意思差不多
sp <- 15
nbet <- 10000
aa <- function(x) {
win <- rbinom(nbet, 1, .495)
win <- ifelse(win, 1, -1)
winm <- 5 + cumsum(win)*.75
i0 <- which(winm<=0)[1]
i1 <- which(winm>=sp)[1]
i0 <- ifelse(is.na(i0), Inf, i0)
i1 <- ifelse(is.na(i1), Inf, i1)
if (i0==Inf & i1==Inf) return(NA) else return(ifelse(i0
}
b <- sapply(1:5000, aa)
mean(b) |
|
n*****3 发帖数: 1584 | 6 ifelse( ,
ifelse(....
ifelse.. |
|
f*******n 发帖数: 5241 | 7 糊涂弟说ifelse是他大妹子。:)
我把给elseif的包子送到ifelse那里去了,所以想你可能也是这样。:)不过MM不错,
又还给我了。 |
|
n******7 发帖数: 12463 | 8 我看了一下这个code,确实有点绕
不过我觉得不是这个概念多复杂,而是因为人脑的memory非常有限,需要跟踪的量一多
就oom了
这段code的问题在这里
new_continuation <- function(result) {
continuation(result * n)
}
又是result 又是new_continuation的,
这两个东西现在没用,result本身又是个有意义的词
一下把人绕晕了
其实把这个东西当做匿名函数放到调用里面就好多了
我把ifelse也放一起了,你看是不是容易理解多了?
cp_factorial <- function(n, continuation = identity)
ifelse(n == 1, continuation(1), cp_factorial(n - 1, function(x)
continuation(x * n)))
另外一个绕的地方是function composition
执行过程写出来就是
cp_factorial(2, function(x) identity(x * 3))
cp_factorial(... 阅读全帖 |
|
S******y 发帖数: 1123 | 9 #In R -
#----------------------------
t=read.table('C:\\mylist.txt')
z<-ifelse(t == "A" | t=="B" |t== "C"|t== "D"|t=="E", 1, ifelse(t == 1 | t==2
|t== 3|t== 4|t==5, 0, -99)) |
|
w****u 发帖数: 16 | 10 有一个小问题,应该非常straightforward的文本变量recoding成数值变量, 不知哪里
搞错了,请帮着看一下。
character变量dat.new$Size_Calc有4个values,分布如下:
> table(dat.new$Size_Calc)
Extra Large Large Medium Small
15 22 59 36
我想把它rocode成一个numerical变量:
> dat.new$size_num[dat.new$Size_Calc == "Small"] <- 1
> dat.new$size_num[dat.new$Size_Calc == "Medium"] <- 2
> dat.new$size_num[dat.new$Size_Calc == "Large"] <- 3
> dat.new$size_num[dat.new$Size_Calc == "Extra Large"] <- 4
为什么生成的... 阅读全帖 |
|
t*****w 发帖数: 254 | 11 When I had my job interview, they always tested my SAS skill.However I use R
all the time. To help your preparation, read my R codes to see how much you
can understand it.
%in%
?keyword
a<-matrix(0,nrow=3,ncol=3,byrow=T)
a1 <- a1/(t(a1)%*%spooled%*%a1)^.5 #standadization in discrim
a1<- a>=2; a[a1]
abline(h = -1:5, v = -2:3, col = "lightgray", lty=3)
abline(h=0, v=0, col = "gray60")
abs(r2[i])>r0
aggregate(iris[,1:4], list(iris$Species), mean)
AND: &; OR: |; NOT: !
anova(lm(data1[,3]~data1[,1... 阅读全帖 |
|
y*****w 发帖数: 1350 | 12 试了一下,好像work了,但是用的是d==0或者s==0而不是f(s,0) and/or f(0,d). R
code如下 (p=q=3):
f <- function(s,d) {
x <- ifelse(d==0, 2s, 3*f(s,d-1))
y <- ifelse(s==0, 2d, 3*f(s-1,d))
z <- x + y
c(x,y,z)
}
parameters |
|
|
s*****r 发帖数: 43070 | 14 说白了就是思维方式过于机械,一是一二是二,非黑即白,缺乏弹性
另外人文知识学得太少,不够小资,无法满足女人对生活的幻想
码农一般生活作风懒散,不修边幅,不干家务,生活细节处理得不够好
还有身体条件不够好,一坐就是一天,一定要多锻炼,身体好感情才能好啊 |
|
|
|
g******t 发帖数: 11249 | 17 码农基本是农村妹和城市下层妹的首选
工资高又没处花
更高的阶层女孩就去找家世更好的男人了 |
|
|
g***j 发帖数: 1275 | 19 一下都是我面试的经验和教训,欢迎各位大牛指正或者补充
首先,要端正观念,写代码只是最后一步,是在对方完全理解了你的意图之后的最终表
述,所以,在写代码之前,一定要跟对方把你的意图表述清楚,一定不要在对方不懂你
的想法的情况下就开始写代码,大忌,大忌!
其次,写代码之前,大脑里面要有个大picture,不能想到哪儿写到哪儿。是你的大脑
在写代码,而不是白板上你的手在代码。你的手只是一个printer里面的喷头而已,是
它把你大脑里面的代码print到白板上,你的大脑才是控制那个喷头的芯片。所以,写
之前,你要看着那个白板打个腹稿,想想一下白板上可能有哪些代码,比如定义哪些变
量,哪些if else,哪里退出,call哪几个function,等等。
第三,你在白板或者纸上写代码的过程中,一定要跟面试官交流,让他知道自己在干什
么。每次提笔之前,告诉他,我前面写了啥,然后我准备写啥,这个写的过程,是前面
跟面试官讨论问题结束之后的具体反映。
第四,如果有重复的代码,一定要用一个变量或者一个function表示。本来面试的代码
就不长,还有重复的代码会很ugly。比如类似current->ne... 阅读全帖 |
|
l*n 发帖数: 529 | 20 accu(accumulate)如其名字,是记录最优的path走到当前位置的累计值。
pathmin是走到当前位置的最优路径的最小accu值,假设路径上input矩阵的值是2>>5>>
-3>>-2>>4>>2的话,accu就是2>>7>>4>>2>>6>>8,而一路上pathmin的值是2>>2>>2>>2>
>2>>2。
这里ifelse的逻辑就是,进入某一个位置只能是从左边或者上边的cell,左边cell的
pathmin值比上边的pathmin要高的话,初始需要的strength就更低,所以从左边进入当
前cell。 |
|
e****i 发帖数: 393 | 21 你丫就一傻逼吧,你丫要是真正能精通machine learning,别的方面当然可以网开一面
。就怕你这种货色就会写ifelse的四种写法吧。 |
|
f*******t 发帖数: 49 | 22 希望听点同胞们的建议.
新到一个公司近4个月,公司其实不大,是家工业设备制造公司,工程部也就100来人. 但
公司所属的母公司很大,全集团有几十万人吧.
以前一直在Startup类的小公司做,本以为大公司会很规范,技术人员能力比较强呢,结果
工作这段时间,发现和以前的Startup完全不是一个级别,就是软件开发的管理来说.
前几个月呢,熟悉产品,看了大量的手册.然后搭建开发平台,其中电器组里的一个东欧人
很热心,给了些帮助. 然后组里的经理让我熟悉软件,就把这个东欧人负责N年的一个产
品类型的软件给了我.忘了讲,组里的经理就是同胞中国人.
本来呢,我对那个东欧人还是很感激的,毕竟比较热心,帮助搭建开发平台需要的琐碎的
零件在那里啊,工具在哪里啊,他都主动跑来告诉我.
但看了他的Sourcecode,结果让我大吃一惊,真的是吃惊,这个东欧人在公司做了8年了,
他的程序,我感觉不如大学在校本科生.
经理让我负责一个功能的更新,我就看了和该功能模块相关的一些文件,发现该东欧人的
程序中,竟然有整数除0的Bug, 还有判断4舍五入,结果他采取的做法,简直要我怀疑他是
不是上过学, 简单说,他用... 阅读全帖 |
|
V*****n 发帖数: 893 | 23 well, he should draft behind someone like ifelse. If he is passed by some
guy, he would just say "dude, what's the hurry. you are missing the view..."
kaka |
|
|
w********6 发帖数: 12977 | 25 ifelse 还真是 whatelse 的新马甲,我一度把减肥版的斑竹也当成你了 |
|
i****e 发帖数: 126 | 26 看版上的人大部分都比较nice,就壮胆奔一个。从一个两年前从不锻炼的人,到现在每
周3到4 次去健身房在椭圆机上锻炼。不过最近才开始练练小腹,主要就是平躺抬腿,
每次做4组,每组50次,每周两次(不好意思,有点少)。照片上肥肉还是很多,但是
使劲看还是有点阴影的。 |
|
i****e 发帖数: 126 | 27 每周去gym四次或者五次,45分钟登山机和椭圆机交替,不到二十分钟的力量练习,有8 min abs, legs presses, triceps presses。也没啥效果,就是变瘦了,love handle没有了。奔个腹部好
了。 |
|
|
h******y 发帖数: 1040 | 29 I've seen your two lines....on the other website...quite impressive ah..
So u think with more core exercises, I'll acheive the muscle in the middle,
like ifelse?
but one thing for sure ah...i won't get a small waist...no way to reduce
10cm. sigh sigh sigh :(
点。 |
|
|
|
f*******n 发帖数: 5241 | 32 完了,我本来想给糊涂帅哥的包子,好像是送到ifelse那里去了,记得你说过她是你妹
妹来着,给她和给你一样的吧? |
|
|
g**y 发帖数: 1106 | 34 wah!~~ approaching ifelse mm in such a subtle way.. xixi..
If he bribes me enough, I can connect the link for him.. xixi |
|
h******y 发帖数: 1040 | 35 来自主题: Weightlifting版 - 彻底怂到家 笑笑去飞版考个古看看ifelse版花的性感腹肌吧。 |
|
p*****2 发帖数: 21240 | 36 你这个就叫清晰?
跟error折腾来折腾去的
可能的error如果多起来你都用if else? 难道不应该用switch? 那你啥时候用switch?
ifelse 多了用switch难道不是common sense? |
|
d****n 发帖数: 1637 | 37 我的code 里面基本没有switch,除了 type switch
而且一个else都没有。
看起来那叫舒服。
同事就喜欢nested ifelse,我心里默念他祖宗18遍
switch? |
|
d****n 发帖数: 1637 | 38 那倒不是,我能忍受别人用switch,但是我个人避免去用,不是gopher general.
包括no ifelse,都是我个人习惯。 |
|
D*******o 发帖数: 3229 | 39 有的,大哥。
Option 1:
if (a){bla a}
else if (b){bla b}
else{bla,bla}
Option 2:
ifelse(a,bla a, bla bla) |
|
|
s******y 发帖数: 352 | 41 gp will increment by 1 when a new Unconfirmed_response is encountered.
gp will be reset to 1 when ID is changed.
if you need me to rewrite the code with ifelse statement, baozi please! |
|
t****a 发帖数: 1212 | 42 1. you can use is.na() function to detect if a value is NA.
2. your code would be very slow when you are computing large data.frame.
because you are using apply or sapply. I would write it with vector
computing like:
data$newcol = ifelse(is.na(data[,2]) | is.na(data[,4]) | data[,2]!=data[,4],
as.numeric(data[,5]) - 1, as.numeric(data[,5])) |
|
S*********1 发帖数: 3004 | 43 请问:有"出生日期"和"测试日期",格式:mo/day/year,怎么算测试时的年龄
,我觉得可以用if,ifelse之类的,但是写不出来
dob doa
1/2/2001 1/3/2001
9/20/2001 9/20/2011
12/14/2000 11/25/2010
谁能给个例子,包子酬谢 |
|
a****r 发帖数: 1486 | 44 dm[dm %in% c("XL", "LL")] <- "L"
", |
|
p****e 发帖数: 165 | 45 谢谢回复。能展开写一下吗?%in%是什么意思?没见过R有这个符号啊~
data set叫做d, dimension是其中的一个field
你是指这个吗?但我运行了不行。。。
d$dimension_new[dimension == c("XL") | dimension == c("LL")] <- "L"
求指教,麻烦了! |
|
p****e 发帖数: 165 | 46 哦,我数据表是叫d, 所以你原来是 d[d %in% c("fixed_top", "fixed_bottom")] <-
"L"
我把dm看成dimension缩写了,就觉得怎么field name怎么可以这样表达。
运行上面那个替换命令后,我head(d)一下,没发现dimension里面“XL”“LL”被替换
成"L", 没有成功,能问一下这是为什么吗? 谢谢! |
|
a****r 发帖数: 1486 | 47 你就把dm换成d$dimension就对了
我就是懒得写那么长罢了。
- |
|
p****e 发帖数: 165 | 48 d[d$dimensioncode %in% c("XL", "LL")] <- "L"
这样虽然没报错,但dimensioncode原来"XL", "LL"的变成了“"
好像还是不对,为什么呢?
麻烦你了! |
|
D******n 发帖数: 2836 | 49 d$dimensioncode[d$dimensioncode %in% c("XL", "LL")] <- "L" |
|