我需要一些这方面的帮助:
foo <- function(obj){
"fail"
}
foo.usefull <- function(obj){
obj$content
}
myob <- structure(list(content="sucess"), class="usefull")
foo(myob)
#[1] "fail"
Run Code Online (Sandbox Code Playgroud)
什么的通话foo(myob)应该返回IST"成功".但似乎我错过了一些东西.什么?
我想从仅包含 NA 的 data.table 中删除行。
> tab = data.table(A = c(1, NA, 3), B = c(NA, NA, 3))
> tab
A B
1: 1 NA
2: NA NA
3: 3 3
Run Code Online (Sandbox Code Playgroud)
通常我会这样做apply(dat, 1, ...),不幸的是它不适用于 data.table ,但它使我找到了这个不雅的解决方案:
> tab[apply(as.data.frame(tab), 1, function(x) !all(is.na(x))), ]
A B
1: 1 NA
2: 3 3
Run Code Online (Sandbox Code Playgroud)
如何在不知道列名的情况下以最快的方式实现?
我想根据"引导"变量分离变量.x3在以下情况中:
set.seed(2)
df = data.frame(x1 = sample(4), x2 = sample(4), x3 = sample(letters[1:2], size = 4, replace = TRUE))
df
# x1 x2 x3
# 1 1 4 a
# 2 3 3 b
# 3 2 1 b
# 4 4 2 a
# Desired output
# x3 x1.a x2.a x1.b x2.b
# a 1 4 NA NA
# b NA NA 3 3
# b NA NA 2 1
# a 4 2 NA NA
Run Code Online (Sandbox Code Playgroud)
我在某种程度上意识到这可以实现,reshape2::dcast()但我只能让它共同工作两个变量: …
我想打一个情节像这样只给我data.frame百分.所以我的data.frame中的一行就是这样的:
Name; q0.05; q0.25; q0.45; q0.55; q0.75; q0.95
Italy; 76; 88; 95; 109; 112; 123
Run Code Online (Sandbox Code Playgroud)
这就是我直接想要转化为情节的内容.任何帮助或建议赞赏!
我知道在Java中,做这样的事情通常很方便
if(a!=0 && b/a>1){
...;
}
Run Code Online (Sandbox Code Playgroud)
当第一部分已经为假时,Java会停止.R不这样做,有时会产生错误.那么:是否有可能缩短此代码:
if(exists("user_set_variable")){
if(user_set_variable < 3){
...
}
}
Run Code Online (Sandbox Code Playgroud) r ×5
data.table ×1
dcast ×1
function ×1
ggplot2 ×1
logic ×1
oop ×1
percentile ×1
plot ×1
reshape2 ×1