全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
4936 5
2015-09-23
x <- c(6:-4)sqrt(ifelse(x >= 0, x, NA))
这个是正确的code,不太明白为啥下面的code报错x <- c(6:-4)ifelse(x >= 0, sqrt(x), NA)
知道的可以解释下不,多谢啦
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-9-23 09:14:26
> x <- c(6:-4)
> sqrt(ifelse(x >= 0, x, NA))
[1] 2.449490 2.236068 2.000000 1.732051 1.414214 1.000000 0.000000       NA       NA       NA       NA
你是不是没有分行啊?我运行没问题呀
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-9-23 10:04:11
xiyubaobei0213 发表于 2015-9-23 09:14
> x  sqrt(ifelse(x >= 0, x, NA))
[1] 2.449490 2.236068 2.000000 1.732051 1.414214 1.000000 0.00000 ...
第二种code会报错,我看不出来有啥问题

x <- c(6:-4)
ifelse(x >= 0, sqrt(x), NA)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-9-23 10:07:38
> x <- c(6:-4)
> ifelse(x >= 0, sqrt(x), NA)
[1] 2.449490 2.236068 2.000000 1.732051 1.414214 1.000000 0.000000       NA       NA       NA       NA
Warning message:
In sqrt(x) : NaNs produced
我的输出结果是这样的,这不是报错,只是提示警告,出现了NA
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-9-23 10:21:03
xiyubaobei0213 发表于 2015-9-23 10:07
> x  ifelse(x >= 0, sqrt(x), NA)
[1] 2.449490 2.236068 2.000000 1.732051 1.414214 1.000000 0.00000 ...
对对对,能解释下为啥吗,想不太明白
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-9-23 10:33:58
目测没错,警告只是说明出现了na值,因为负数没办法开方啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群