Tim*_*Tim 3 formatting if-statement r
我有两个问题,两个都很简单我相信处理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在单独的列中但是相同的行.鉴于这些奇怪的条件,有什么办法吗?
希望这写得足够清楚,我提前感谢任何人花时间来帮助我!
尝试将数据帧子集化为R不是"Neg"的行:
subset(test, R!="Neg")
Run Code Online (Sandbox Code Playgroud)
对于NA问题,您的数据框中可能已经有NA,对吧?尝试这是否有效:
a[a[,21] %in% 0, 5:10] <- NA
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3245 次 |
| 最近记录: |