我正在尝试从数据树结构中计算出小时数.我可以直接在父节点下添加小时数,但是我不能包括分配给树中父节点的小时数.任何建议都会很棒.
levelName hours totalhours
1 Ned NA 1
2 °--John 1 3
3 °--Kate 1 3
4 ¦--Dan 1 1
5 ¦--Ron 1 1
6 °--Sienna 1 1
levelName hours totalHours
1 Ned NA 5
2 °--John 1 5
3 °--Kate 1 4
4 ¦--Dan 1 1
5 ¦--Ron 1 1
6 °--Sienna 1 1
# Install package
install.packages('data.tree')
library(data.tree)
# Create data frame
to <- c("Ned", "John", "Kate", "Kate", "Kate")
from <- c("John", "Kate", "Dan", "Ron", …Run Code Online (Sandbox Code Playgroud) 我试图比较并将工作日字符串值设置为使用R的"周末"或"工作日"时出错.任何有关如何以更好的方式处理此问题的建议都会很棒.
x <- c("Mon","Tue","Wed","Thu","Fri","Sat","Sun")
setDay <- function(day){
if(day == "Sat" | "Sun"){
return("Weekend")
} else {
return("Weekday")
}
}
sapply(x, setDay)
Run Code Online (Sandbox Code Playgroud)
这是我在RStudio中得到的错误:
Error in day == "Sat" | "Sun" :
operations are possible only for numeric, logical or complex types
Run Code Online (Sandbox Code Playgroud) 有没有更好的方法在数据框中进行观察并估算NA值?我已经整理了一个似乎可以完成工作的'for循环',用行的平均值交换NAs,但我想知道是否有更好的方法不使用for循环来解决这个问题 - 也许一个内置的R功能?
# 1. Create data frame with some NA values.
rdata <- rbinom(30,5,prob=0.5)
rdata[rdata == 0] <- NA
mtx <- matrix(rdata, 3, 10)
df <- as.data.frame(mtx)
df2 <- df
# 2. Run for loop to replace NAs with that row's mean.
for(i in 1:3){ # for every row
x <- as.numeric(df[i,]) # subset/extract that row into a numeric vector
y <- is.na(x) # create logical vector of NAs
z <- !is.na(x) # create logical vector of non-NAs
result …Run Code Online (Sandbox Code Playgroud)