我有一个整数作为列,希望将其拆分为多个单独的整数
使用split()
创建数据框列表不适用于我以后的目的
df <- as.data.frame(runif(n = 10000, min = 1, max = 10))
其中split()
创建一个数据框列表,我无法将其用于其他目的,其中我需要一个单独的整数作为"Values"
map.split <- split(df, (as.numeric(rownames(df)) - 1) %/% 250) # this is not the trick
我的目标是将列拆分为不同的整数(不是在全局环境“数据”下保存,而是在“值”下保存)
这将是很慢的方法:
VecList1 <- df[1:250,]
VecList2 <- df[251:500,]
与
str(VecList1)
Int [1:250] 1 1 10 5 3 ....
欢迎任何建议
答案 0 :(得分:0)
如果我的解释正确(对我来说不清楚),那么这将减少问题,而且我认为您的要求是
set.seed(2)
df <- data.frame(x = runif(10, min = 1, max = 10))
df$Values <- (seq_len(nrow(df))-1) %/% 4
df
# x Values
# 1 2.663940 0
# 2 7.321366 0
# 3 6.159937 0
# 4 2.512467 0
# 5 9.494554 1
# 6 9.491275 1
# 7 2.162431 1
# 8 8.501039 1
# 9 5.212167 2
# 10 5.949854 2
如果您只需要将Values
列作为自己的对象,则可以将df$Values <- ...
更改为Values <- ...
。
答案 1 :(得分:0)
这是执行此操作的一种方法(尽管最好找出不需要一系列单独的矢量,而只处理单个矩阵中的列的方法):
$WebClient = new-object System.Net.WebClient
$WebClient.Headers.Add("Authorization", "Basic " + $AuthStr)
$WebClient.Headers.Add("X-Atlassian-Token", "nocheck")
$WebClient.UploadFile($BasePath + "/attachments", (Get-Location).Path + "\" + $AttachmentFile)
注意:通常不建议使用df <- data.frame(a=runif(n = 10000, min = 1, max = 10))
mx<-matrix(df$a,nrow=250)
for (i in 1:NCOL(mx)) {
assign(paste0("VecList",i),mx[,i])}
。无论您要实现什么目标,都可能有一种更好的方法,而不必在全球环境中创建一系列新的载体。