如何制作一个数字乘以R中上升到3的数字的频率表
有了下面的列表,我希望频率的结果乘以它的索引值,提高到3。我怎么做呢如何制作一个数字乘以R中上升到3的数字的频率表,r,frequency,R,Frequency,有了下面的列表,我希望频率的结果乘以它的索引值,提高到3。我怎么做呢 data<-c(1,1,2,2,3,34,65,78,65,3) table(data) data 1 2 3 34 65 78 2 2 2 1 2 1 谢谢 或 你可以考虑 TpEp< /C> >: res <- tapply(data, data, function(x) (x[1]^3) * length(x)) #1 2 3 34 65
data<-c(1,1,2,2,3,34,65,78,65,3)
table(data)
data
1 2 3 34 65 78
2 2 2 1 2 1
谢谢
或
你可以考虑<代码> TpEp< /C> >:
res <- tapply(data, data, function(x) (x[1]^3) * length(x))
#1 2 3 34 65 78
#2 16 54 39304 549250 474552
res注意,与其他答案一样漂亮,但这是一个多步骤的解决方案
数据:
with(rle(sort(data)), lengths*values^3)
#[1] 2 16 54 39304 549250 474552
x = table(data)
x*as.numeric(names(x))^3
#data
#1 2 3 34 65 78
#2 16 54 39304 549250 474552
res <- tapply(data, data, function(x) (x[1]^3) * length(x))
#1 2 3 34 65 78
#2 16 54 39304 549250 474552
data<-c(1,1,2,2,3,34,65,78,65,3)
data <- as.data.frame(table(data))
data$data <- as.numeric(as.character(data$data))
data$powers <- data$data**3
data$final <- data$Freq * data$powers
data Freq powers final
1 1 2 1 2
2 2 2 8 16
3 3 2 27 54
4 34 1 39304 39304
5 65 2 274625 549250
6 78 1 474552 474552