我正在使用R并且已经四处寻找答案但是虽然我看到了类似的问题,但它对我的具体问题没有用.
在我的数据集中,我试图使用NA's作为占位符,因为一旦我完成了部分分析,我将返回它们,因此,我希望能够做我所有的计算,好像它们NA不是真的在那里.
这是我的示例数据表的问题
ROCA = c(1,3,6,2,1,NA,2,NA,1,NA,4,NA)
ROCA <- data.frame (ROCA=ROCA) # converting it just because that is the format of my original data
#Now my function
exceedes <- function (L=NULL, R=NULL, na.rm = T)
{
if (is.null(L) | is.null(R)) {
print ("mycols: invalid L,R.")
return (NULL)
}
test <-(mean(L, na.rm=TRUE)-R*sd(L,na.rm=TRUE))
test1 <- sapply(L,function(x) if((x)> test){1} else {0})
return (test1)
}
L=ROCA[,1]
R=.5
ROCA$newcolumn <- exceedes(L,R)
names(ROCA)[names(ROCA)=="newcolumn"]="Exceedes1"
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Error in if ((x) > test) { : missing …Run Code Online (Sandbox Code Playgroud) 我正在制作一个脚本,我对一堆数据进行了很多操作,并且我对另一个数据集执行了相同的操作.两个数据集都具有相同的行,列和标题.我希望能够将两个数据集连接在一起,我将数据集A放在数据集B之上.我不需要数据集B的标题,而只是将所有数据聚集在一起,就像它们从未真正分开一样第一名.有没有简单的方法来做到这一点?
我有两个问题,两个都很简单我相信处理R.
我想创建一个IF语句,它将NA值分配给列中的某些行.我尝试了以下命令:
a[a[,21]==0,5:10] <-NA
Run Code Online (Sandbox Code Playgroud)
错误说:
[< - .data.frame(tmp,a [,21] == 0,5:20,value = NA)中的错误:在数据帧的下标分配中不允许缺少值
本质上,该代码应该在第21列中取任何0值,并将该行的值从第5列到第10列替换为NA.第21栏已有NA,但我不确定这是否有效?
我不知道如何制作下一个功能.我需要操纵包含正面和负面控件的数据.但是,当我操纵数据时,我不希望正面和负面控制值分开操作,但我希望正面和负面控件保留在列中,因为我必须稍后使用它们.反正有没有暂时忽略这些值,所以它们不包含在操作中?
这里有样本数据:
L = c(2,1,4,3,1,4,2,4,5,1)
R = c(2,4,5,1,"Neg",2,"",1,2,1)
T = c(2,1,4,2,"CTRL",2,"PCTRL",2,1,4)
test <- data.frame(L=L,R=R,T=T)
Run Code Online (Sandbox Code Playgroud)
我希望能够根据字符"Neg""CTRL"/"""PCTRL"暂时忽略这些行,而不是它们在数据帧中的位置(如果可能).注意负控制,Neg和CTRL如何在单独的列中,相同的行,就像正控制一样,其中有一个空白而PCTRL在单独的列中但是相同的行.鉴于这些奇怪的条件,有什么办法吗?
希望这写得足够清楚,我提前感谢任何人花时间来帮助我!