我想用mydates和val创建一个数据框。 mydates是日期列表的列表,我希望dataframe列是每一行的列表。这可能吗?我不断收到错误消息,指出行长度不同,但是当我使用length()检查时,mydate和val都返回100。
end_date <- as.Date('2010-03-07')
mydate <- list()
for(i in 1:100){
dates <- sample(1:40,1)
mydate[[i]] <- list(as.Date(sample( as.numeric(start_date): as.numeric(end_date), dates,
replace = T),
origin = '1970-01-01'))
}
vals <- sample(1:1000, 100, replace=T)
data.frame(mydate, vals)
答案 0 :(得分:0)
一种可能性是使用tibbles
而不是data.frames
。
library(tidyverse)
x <- tibble(mydate = flatten(mydate), vals = vals)
x
不是data.frame,而是tibble
。您可以根据需要将x
转换为data.frame:
x2 <- as.data.frame(x)
答案 1 :(得分:0)
您的方法存在一些问题。您可以尝试以下方法。
start_date
(1)-您的代码中缺少start_date
。我选择了任意list()
,请根据您的数据进行更正。
(2)-当您已经知道长度时,不使用data.frame
,而是使用固定长度初始化一个空列表。这非常有效。
(3)-您可以直接创建日期序列,而不必创建数字序列,然后将其转换为日期。
(4)-您无法在 var uploadTask = FirebaseStorage.getInstance().reference.child("images").child(imageName).putBytes(data)
uploadTask.addOnFailureListener {
// Handle unsuccessful uploads
Toast.makeText(this, "Upload failed, try again.", Toast.LENGTH_SHORT).show()
}.addOnSuccessListener {
val ref = FirebaseStorage.getInstance().reference.child("images").child(imageName)
ref.downloadUrl
.addOnCompleteListener { task ->
if (task.isSuccessful) {
val downloadUrl = task.result
// taskSnapshot.metadata contains file metadata such as size, content-type, etc.
// ...
val intent = Intent(this, ChooseUserActivity::class.java)
intent.putExtra("imageName", imageName)
intent.putExtra("imageUrl", downloadUrl.toString())
intent.putExtra("message", messageEditText?.text.toString())
startActivity(intent)
}
}
}
调用中添加矢量列表,请单独添加。