我对R比较陌生。我正在处理每个时间戳有多个数据点的数据集,但它们是多行的。我试图为每个时间戳创建一行,每个变量都有一列。
示例数据集
Time Variable Value
10 Speed 10
10 Acc -2
10 Energy 10
15 Speed 9
15 Acc -1
20 Speed 9
20 Acc 0
20 Energy 2
我想将此转换为
Time Speed Acc Energy
10 10 -2 10
15 9 -1 (blank or N/A)
20 8 0 2
这些是测量值,因此它们并不总是完整的。
我尝试过ddply将每个单独的值提取到数组中并重新组合,但列的长度不同。我已经尝试了聚合,但我无法弄清楚如何保持变量和值的关联。我知道我可以用for循环类型的解决方案做到这一点,但在R中这似乎是一个很糟糕的方法。任何建议或方向都会有所帮助。谢谢!
答案 0 :(得分:0)
我假设data.frame的名字是df
library(tidyr)
spread(df,Variable,Value)
答案 1 :(得分:0)
通常是class SliderCell: UITableViewCell {
@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var maxLegendLabel: UILabel!
@IBOutlet weak var minLegendLabel: UILabel!
@IBOutlet weak var slider: UISlider!
@IBOutlet weak var answerLabel: UILabel!
var delegate: QuestionSliderCellDelegate?
override func awakeFromNib() {
super.awakeFromNib()
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
isFirstResponder()
}
@IBAction func slideAction(sender: UISlider) {
let sliderValue = Int(sender.value)
print("slider value")
print(sliderValue)
}
func display(block: Block){
titleLabel.text = block.title
slider.value = 1.0
}
}
中dcast
的作业。首先,我们举例reproducible:
reshape2
然后:
df <- structure(list(Time = c(10L, 10L, 10L, 15L, 15L, 20L, 20L, 20L),
Variable = structure(c(3L, 1L, 2L, 3L, 1L, 3L, 1L, 2L), .Label = c("Acc",
"Energy", "Speed"), class = "factor"), Value = c(10L, -2L, 10L,
9L, -1L, 9L, 0L, 2L)), .Names = c("Time", "Variable", "Value"),
class = "data.frame", row.names = c(NA, -8L))
使用library(reshape2)
dcast(df, Time ~ ...)
Time Acc Energy Speed
10 -2 10 10
15 -1 NA 9
20 0 2 9
,您可以(化妆品)对列重新排序:
dplyr